Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка формы срадствами PHP 
:(
    Опции темы
Stalker_BY
Дата 19.12.2007, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 6.2.2007

Репутация: нет
Всего: нет



Скрипт который отправляет данные формы ТОЛЬКО средствами PHP и получал результат работы (страницу на которую отправляеться форма)... smile 
PM MAIL ICQ   Вверх
Fally
Дата 19.12.2007, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 17.8.2006
Где: Dahla

Репутация: нет
Всего: 4



телепатов нет, вопрос какой-то странный. конкретизируй.


--------------------
Прежде чем задать вопрос на форуме воспользуйтесь поиском.
user posted image
user posted image
PM MAIL   Вверх
bars80080
Дата 19.12.2007, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 1
Всего: 315



в среде php формы как таковой нет, 
но можно к примеру так:
сформировать запрос вида
Код

$zap = 'http://server.php/need_page.php?param=peremennaja';
// а дальше
$fp = fopen($zap, 'r')

он обратится к некоторому скрипту, который подхватит переменную param и на её основе вернёт некоторое значение
PM MAIL WWW   Вверх
skyboy
Дата 19.12.2007, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



результат обработки данных, отправленных через POST можно получить через cURL.

M
skyboy
едем в "РНР: работа с сетью"

PM MAIL   Вверх
vpokorp
Дата 12.1.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Собственно уже приехали - ответа однако нет - только первый намек..

Мне вопрос понятен - постараюсь конкретизировать
В одном из подаренных мне скриптов это делалось так:

                               
Цитата
 $qs = 'curl http://sait.ru/ -A "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4"';
  $qs.= ' -d "pole1=lapit&pole2=139"'; 
  $qs.= ' -o vxod.html';
  echo $qs."\n";
  exec($qs); //.
  exec('tidy -config tidy.ini -f errs.txt -m vxod.html');

pole1 и pole2 - это названия полей взятые из httml кода страницы на которой заполняется форма, а lapit и 139 - это значения подставляемые скриптом в поля
vxod.html - файл в который записывается результат выдачи после отправки формы
Все вроде работает.

Мне бы еще хотелось понять как осуществлять саму отправку данных , имитируя нажатие на клавишу "Ввод"
Код кнопки :
Цитата

<input id="button_auth_submit" type="image" src=log.png" alt="жми" title="жмиснова" />


Это сообщение отредактировал(а) vpokorp - 12.1.2008, 14:59
PM   Вверх
Golda
Дата 13.1.2008, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: нет
Всего: 42



Цитата(vpokorp @  12.1.2008,  14:57 Найти цитируемый пост)
$qs = 'curl http://sait.ru/ -A "Mozilla/5.0 (Windows; U; Windows NT 5.2; ru; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4"';
  $qs.= ' -d "pole1=lapit&pole2=139"'; 
  $qs.= ' -o vxod.html';
  echo $qs."\n";
  exec($qs); //.
  exec('tidy -config tidy.ini -f errs.txt -m vxod.html');


Что "в переводе на PHP" smile означает   

Код

$ch = curl_init("http://site.ru/");
$fp = fopen("vhod.html", "w");

curl_setopt($ch CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "pole1=lapit&pole2=139");

curl_exec($ch);
curl_close($ch);
fclose($fp);


Это CURL-овская часть. Что именно делает tidy зависит от того, что написано в tidy.ini

По хорошему нужно добавить после curl_exec()  проверку на ошибки CURL (curl_errno()curl_eror()) и на код ответа сервера (curl_ getinfo())

Это и есть решение поставленной задачи. На самом деле сервер не знает, переслан запрос PHP-скриптом или броузером реального пользователя. Если автор скрипта этим озаботился, скрипт может попытаться проверить этот факт по косвенным данным, в основном по HTTP-заголовкам, который передал клиент. В большинстве случаев, если Вы используете API какого-то веб-сервиса, этого достаточно


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.1152 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.