|
|
|
| здравствуйте
у меня такая проблема
я хочу, чтобы форма, которую заполняет посетитель на моем сайте, передавалась сразу двум сайтам, а затем должна загурзиться страница c моего сайта.
на сайтах, которым я хочу передать данные, переданные данные будут обработаны. мне не важна страница, которую выдают эти сайты после выполнения их скриптов.
подскажите, пожалуйста, как это реализовать. | |
|
|
|
|
|
|
|
для: smart
(08.11.2004 в 16:23)
| | Вообще если обработчики принимают данные по методу POST, а не GET, то работать с ними будет затруднительно, если же обработка производится методом GET, тогда следует сформировать строки запроса, которые получаются на выходе форм и обратиться при помощи сокетов к двум сайтам http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=705&page=1 и сразу после обращения необходимо осуществить редирект на нужную страницу
<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
</HEAD></HTML>
|
где index.php - страница вашего сайта, на которую необходимо перейти. | |
|
|
|
|
|
|
|
для: cheops
(08.11.2004 в 16:40)
| | Мне нужно передать методом POST. Программа на сервере не хочет принимать данные GET'ом | |
|
|
|
|
|
|
|
для: smart
(08.11.2004 в 20:08)
| | Это нужно делать через сокеты примерно следующим образом
<?php
// Задаём порт
$service_port = 80;
// Возвращаем адрес хоста
$address = gethostbyname("localhost");
// Создаём сокет
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0)
{
echo "socket_create() завершилась неудачей: причина: " . socket_strerror($socket) . "\n";
}
// Соединяемся
$result = socket_connect($socket, $address, $service_port);
if ($result < 0)
{
echo "socket_connect() завершилась неудачей: причина: ($result) " . socket_strerror($result) . "\n";
}
$in = "POST /test/hello.php HTTP/1.1\r\n";
$in .= "Content-Lenght: 21\r\n\r\n";
$in .= "Host: localhost\r\n\r\n";
$in .= "hello Hello%20word";
// Отправляем заголовок
socket_write($socket, $in, strlen($in));
// Читаем данные из сокета
while ($out = socket_read($socket, 2048))
{
echo $out;
}
// Закрываем сокет
socket_close($socket);
?>
|
Код этот не работает, так как я так и не смог подобрать нужный HTTP-запрос в переменной $in. Суть в том, что параметры из формы (приведённый выше код аналог GET-запроса index.php?hello=Hello%20word), передаются после двух переводов строки после заголовков, но я не сумел с наскоку заставить это работать :((( - попробуйте повозиться, может у вас получится. | |
|
|
|