WeBinstruments

Инструментарий для веб-мастеров

 

на сайте на всех сайтах для веб разработчиков везде
 
 Скрипты
  PHP скрипты   
  Flash скрипты   
  Javascript скрипты   

 Софт
  Инструменты SEO   
  Разработка сайтов   
  Серверное ПО   

 Документация
  MySQL   
  PHP   
  HTML   
  Протоколы и сервисы Internet   

 Статьи
  PHP   
  MySQL   
  Сервер   
  еще...   

 Услуги и сервисы
  Домены   
  Хостинги   
  Блоки для сайта   

 Новости


 Контакты
  icq: 158325531
  email:
  все контакты: здесь




Atom все поступления
Раздел Файлы
Раздел Услуги и сервисы
Раздел Новости
Раздел Статьи
комментарии



 Партнеры


Главная / Статьи / PHP / Передача данных из скрипта методом POST


Передача данных из скрипта методом POST

08.05.2007 (последний раз редактировалось 15.11.2010)
сайт автора: http://webi.ru
публикация данной статьи разрешена только со ссылкой на сайт автора статьи

Отправка данных из php скрипта методом POST так, как это делает обычная html форма. Отправка переменных и файлов. Отредактирована 15.11.2010

Читать всю статью


Комментарии

RSS комментарии


01.03.2011 Владимир
Здравствуйте.
Статья хорошая и данные отлично посылаються, но у меня проблемка при отправке данных в шапке выводится вот это

HTTP/1.1 200 OK Date: Wed, 02 Mar 2011 06:05:12 GMT Server: Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k PHP/5.2.12 X-Powered-By: PHP/5.2.12 Content-Length: 2954 Content-Type: text/html; charset=windows-1251

как это отключить

Вот скрипт:
$url = "http://test.ru/index.php?notice=23&var2=54";
$parse_url = parse_url($url);
$path = $parse_url["path"];
if($parse_url["query"])
$path .= "?" . $parse_url["query"];
$host= $parse_url["host"];
$data = "errors=test&var4=".urlencode("еще тест");
$fp = fsockopen($host, 80, $errno, $errstr, 10);
if ($fp)
{
$out = "POST ".$path." HTTP/1.1\n";
$out .= "Host: ".$host."\n";
$out .= "Referer: ".$url."/\n";
$out .= "User-Agent: Opera\n";
$out .= "Content-Type: application/x-www-form-urlencoded\n";
$out .= "Content-Length: ".strlen($data)."\n\n";
$out .= $data."\n\n";

fputs($fp, $out);
while($gets=fgets($fp,2048))
{
print $gets;
}
fclose($fp);
}



02.03.2011 админ
Владимир, за вывод ответа от сервера отвечает следующий код

while($gets=fgets($fp,2048))
{
print $gets;
}

Если вам совсем не нужно показывать ответ сервера, удалите эту часть кода, если нужно только отбросить заголовки, то добавьте перед этим кодом

while(fgets($fp,2048)!="\r\n" && !feof($fp));

Чтобы получилось так

while(fgets($fp,2048)!="\r\n" && !feof($fp));
while($gets=fgets($fp,2048))
{
print $gets;
}



03.03.2011 Владимир
Вот спасибо



11.03.2011 Максим
Полезная статья!Спасибо.



16.05.2011 Rider
Спасибо!



15.06.2011 webaccept
Информативно, и познавательно, прям как для чайников. Все понял сразу, но вон не задача... Все отлично работает, за исключением, того, что я не могу редиректнуться на указанную страницу.



20.06.2011 Олег
Ни хрена не работает! Как только не пробовал. может я совсем тупой, но первый пример у меня не пошел. Запускаю свой файл *.php с этим кодом - ничего не отправляется



20.06.2011 Олег
особенно не понятно с вашим test.ru - вообще-то в моей форме action='http://localhost/mysite/index.php', моя форма отправляется автоматически с помощью javascript методом document.form.submit(); - и отлично отправляется, никаких проблем. Просто я решил сделать тоже самое на php -и уже 2 часа колдую над вашим скриптом, меняю значения после POST - указывая полный путь к файлу - и просто index.php и даже полностью url http://localhost/mysite/index.php - проделывал подобное в значениях Host: и Referer: то е. указывал все значения пути файла, какие только мог, начиная от полного пути - заканчивая названием файла, все варианты перепробовал какие только есть - не работает. Объясняете Вы плохо!



25.06.2011 виктор
webaccept, что значит "не могу редиректнуться на указанную страницу."?
не совсем понятно.



25.06.2011 Виктор
Олег, ну что то совсем не понятно, как это вы хотите сделать то же самое что делает javascript, только на php?
Очень похоже на то, что вы ожидаете увидеть что то на экране, а не видите этого.
Чтобы понять работает или нет скрипт, нужно ведь убедиться что скрипт принимает значения, нужно попробовать сохранить входящие переменные в файл или попробовать вывести на экран результаты работы скрипта.



15.10.2011 Владимир
Здравствуйте, столкнулся с такой ситуацией, работала программа - мини-веббраузер ( на C++ ),
которая отсылала Http запрос с переменными и значениями на сайт через метод GET.

Запрос помещался в компонент и имитировалось ввод данных в поля Web формы и нажатия кнопки:

query.Format("http://.../irc/search.php?act=find&act1=2&ob=1&s_=0&phone=2%s&name=%s",phone,surname);
m_browser[1].Navigate(query,NULL,NULL,NULL,NULL);
m_cphone.SetSel(0,-1);
m_cphone.SetFocus();



Недавно появилась новая версия сайта, данные стали передавать методом POST
Можите посоветовать, как модифицировать код, чтобы работала передача данных методом POST и отображение данных,
как было до этого ( я имею ввиду чтобы так же выдавалась информация): query.Format, m_browser[1].Navigate

FireBug-ом удалось только вытащить имена полей ввода на сайте и кнопки



15.10.2011 Владимир
в продолжение темы:

Т е раньше как бы имитировалась работа нажатия и подставления значений вместо человека, ему не надо было вводить номер телефона на самом сайте, номер вводился в программу а она потом сама посылала данные на сайт и нажимала кнопку "Показать"



04.11.2011 Марат
отличная статья автору репект



04.12.2011 Мележик Евгений
Благодарю за невероятно классную и полезную статью!!!

Я просто скопировал пример из листинга, вставил свои данные и заработало!!!



20.03.2012 Найс
Отлично! Все что нужно! Спасибо огромное!



15.08.2012 createl
Просто post удается отправить. Все ок, и ответ от сервера, а файл не получается. Долго долго ждет ответа от сервера, и в итоге отключается



09.12.2012 Hugo
Есть КОСЯК!!! если отправить текстовый файл, в содержании которого есть переносы \r\n, то заголовки сервер неправильно понимает.

Как с этим бороться?



20.03.2013 Юрик
Здравствуйте. Объясните, пожалуйста, чайнику. У вас написано "...улетели по адресу http://test.ru/file.php методом POST, так же, как это сделала бы html форма". html форма при этом открыла бы file.php с переданными ему переменными. А у меня открывается пустая страница. Я что-то не доделал?



18.05.2013 Владислав
Добрый день! Спасибо за отличную статью! Скажите пожалуйста а можно отправить такой POST запрос только из с++ приложения работающего на ПК пользователя. Проще говоря мне необходио чтоб программа на c++ передавал переменные на мой сайт. Только пока мне ума не хватает как это сотворить! Спасибо



25.08.2013 Игорь
А если добавить ещё строку Location: http://test.ru, будет переадресация как через форму?


1 2 3 4 5 6 7

Добавить свой комментарий


Ваше имя(* обязательно)


Текст сообщения(* обязательно)









 
 
  запомнить

 
Copyright © 2003-2024 WeBi Constructor
Rambler's Top100