Jump to content

Отслеживание посылки в Новой Почте


Recommended Posts



1. Выражаю благодарность форуму http://vsupport.ru/ на котором нашел скрипт
2. Пример работы

3. php скрипт nova_pochta.php

<?php
header('Content-type: text/html; charset=windows-1251');
if (isset($_POST["code"])) {

$post = "en=".$_POST["code"];

$c_options = array(
'http'=>array(
'method'=>'POST',
'header'=>"Content-type: application/x-www-form-urlencoded\r\n".
"User-agent:Opera 10.00\r\nContent-length:".strlen($post)."\r\nConnection:close",
'content'=>$post
)
);
$context = stream_context_create($c_options);
$res = file_get_contents('http://novaposhta.ua/frontend/tracking/ua',
false,$context);

$start = strstr($res,'<div style="margin-right: 230px">');
$end = strpos($start,'<div class="p-terminator">');
$result = substr($start,0,$end);

$start = strstr($result,'</form>');
$start = substr($start,14);
$result = mb_strstr($start,'</div>',true);

echo $result;


die();
}
?>

4. HTML для вставки в шаблон

<script src="http://code.jquery.com/jquery-1.7.2.js" type="text/javascript"></script> <b style="margin-bottom: 5px; display: block;">Введите номер декларации</b> <input type="test" id="code" value="" name="code" style="width: 160px"> <div style="cursor:pointer; width: 100px; background: #fff; margin: 10px" id="send_code">Найти</div> <div id="nova_poshta" align="left"> </div> <script type="text/javascript"> var send_num = function(){ var val = $("#code").val(); $.ajax({ type: 'POST', url: "nova_pochta.php", data: {code : val}, error: function(req, text, error) { alert('Ошибка AJAX: ' + text + ' | ' + error); }, success: function(e){ $("#nova_poshta").get(0).innerHTML = e; } }) } $("#code").live('keypress', function(event) { if (event.which == '13') { send_num(); } }); $("#send_code").live('click', function() { send_num(); }) </script>
Link to post
Share on other sites

delprofile, я в том топике вообще не учавствовал.

1. да, если морда упадет, тут ничего не поделаешь, лично я, в этот скрипт добавлю еще условие, что если результатов нет, то чтоб выдавалась ссылка на сайт.

2. Могут поменять шаблон и т.д - да, тоже плохо, но меняется он крайне редко, согласитесь

Link to post
Share on other sites
  • 2 weeks later...

Этот пример просто выдает форму, которая всегда видна пользователю вне зависимости нужна она ему или нет.
А есть ли примеры с выезжающей формой? :)
Чтоб кликнув по логотипу новой почты, выехала форма для ввода номера накладной...

Link to post
Share on other sites

xavior, Здравствуйте! Подскажите пожалуйста, а если Новая Почта меняет у себя на сайте данную страницу по отслеживанию заказов, этот скрипт перестанет работать?

Просто я у себя реализовал Ваше решение, оно какое-то время работало, а сейчас перестало, не выдает никаких ошибок, просто ничего не отображается....

может что-то посоветуете??? Заранее благодарен, спасибо!

Link to post
Share on other sites

mluchaninov если на сайте новой почты изменили верстку то вероятнее всего скрипт и не работает. Моя реализация такого же функционала работает и до сих пор не меняя код.

Link to post
Share on other sites
  • 1 month later...
  • 1 year later...
  • 11 months later...

 

 

1. Выражаю благодарность форуму http://vsupport.ru/ на котором нашел скрипт

2. Пример работы

3. php скрипт nova_pochta.php

<?php
header('Content-type: text/html; charset=windows-1251');
if (isset($_POST["code"])) {

$post = "en=".$_POST["code"];

$c_options = array(
'http'=>array(
'method'=>'POST',
'header'=>"Content-type: application/x-www-form-urlencoded\r\n".
"User-agent:Opera 10.00\r\nContent-length:".strlen($post)."\r\nConnection:close",
'content'=>$post
)
);
$context = stream_context_create($c_options);
$res = file_get_contents('http://novaposhta.ua/frontend/tracking/ua',
false,$context);

$start = strstr($res,'<div style="margin-right: 230px">');
$end = strpos($start,'<div class="p-terminator">');
$result = substr($start,0,$end);

$start = strstr($result,'</form>');
$start = substr($start,14);
$result = mb_strstr($start,'</div>',true);

echo $result;


die();
}
?>

4. HTML для вставки в шаблон

<script src="http://code.jquery.com/jquery-1.7.2.js" type="text/javascript"></script> <b style="margin-bottom: 5px; display: block;">Введите номер декларации</b> <input type="test" id="code" value="" name="code" style="width: 160px"> <div style="cursor:pointer; width: 100px; background: #fff; margin: 10px" id="send_code">Найти</div> <div id="nova_poshta" align="left"> </div> <script type="text/javascript"> var send_num = function(){ var val = $("#code").val(); $.ajax({ type: 'POST', url: "nova_pochta.php", data: {code : val}, error: function(req, text, error) { alert('Ошибка AJAX: ' + text + ' | ' + error); }, success: function(e){ $("#nova_poshta").get(0).innerHTML = e; } }) } $("#code").live('keypress', function(event) { if (event.which == '13') { send_num(); } }); $("#send_code").live('click', function() { send_num(); }) </script>

а скриптик то не рабочий оказался.........)))

Link to post
Share on other sites

Вы бы еще лет через 10 отписались.

Со временем все ломается, это факт.

Воспользуйтесь моим бесплатным дополнением.

а я ток третий день ее начал юзать...........а тут я смотрю сидят короли симплы и я надеюсь что Ваши Величествы мне помогут с ней.........да?

Link to post
Share on other sites

а я ток третий день ее начал юзать...........а тут я смотрю сидят короли симплы и я надеюсь что Ваши Величествы мне помогут с ней.........да?

Зависит от вопроса, тут предоставляют как платную так и бесплатную помощь.
Link to post
Share on other sites

Зависит от вопроса, тут предоставляют как платную так и бесплатную помощь.

да  меня простой...как сделать что бы я мог открыть в место главной другую страницу но как главную? например я сделал хтмл и хрчу ее сделать главной........

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...