Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: как передать форму двум сайтам

Сообщения:  [1-4] 

 
 автор: cheops   (08.11.2004 в 20:29)   письмо автору
 
   для: 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), передаются после двух переводов строки после заголовков, но я не сумел с наскоку заставить это работать :((( - попробуйте повозиться, может у вас получится.

   
 
 автор: smart   (08.11.2004 в 20:08)   письмо автору
 
   для: cheops   (08.11.2004 в 16:40)
 

Мне нужно передать методом POST. Программа на сервере не хочет принимать данные GET'ом

   
 
 автор: cheops   (08.11.2004 в 16:40)   письмо автору
 
   для: 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 - страница вашего сайта, на которую необходимо перейти.

   
 
 автор: smart   (08.11.2004 в 16:23)   письмо автору
 
 

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

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

подскажите, пожалуйста, как это реализовать.

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime