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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Автоматический submit методом POST
 
 автор: JIEXA   (09.05.2005 в 11:42)   письмо автору
 
 

Вообще как можно разослать информацию на несколько сайтов. Тоесть я у себя заполняю форму и нажимаю "submit" и те данные, которые я ввел, нужно отправить к примеру по таким адресам:
http://www.goddl.com/submit.php
http://www.ddltoday.com/submit.php
Вот пример, отсылки:

    <form name="add" action="http://www.goddl.com/submit.php" method="POST">
<input type="hidden" name="title[]" value="UkrInfo Biz 2.01">
<input type="hidden" name="url[]" value="http://www.otvali.ru/news/soft/1086/"">
<input type="hidden" name="sname" value="INFO-GAME PORTAL">
<input type="hidden" name="surl" value="http://www.otvali.ru">
<input type="hidden" name="email" value="php-jiexa@mail.ru">
<input type="submit" value="Submit to goddl.com">
</form>

Вот такую форму отослать нужно по нескольким адресам, вот только изменяя значение action.
P.S. это законные действия. Просто там чтобы разослать на сайты нужно нажимать по кнопкам, а нам удобнее заполнить один раз и отослать.

   
 
 автор: cheops   (09.05.2005 в 13:01)   письмо автору
 
   для: JIEXA   (09.05.2005 в 11:42)
 

Здесь необходимо прибегать к сокетам, так как это описывается в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1879

   
 
 автор: JIEXA   (09.05.2005 в 13:32)   письмо автору
 
   для: JIEXA   (09.05.2005 в 11:42)
 

Спасибо, почти получилось:

<?
$submitter
[] = "http://www.goddl.com";
$submitter[] = "http://www.ddltoday.com";
foreach (
$submitter as $key => $value)
{
  
$hostname $value;
  
$path "/submit.php"// Аккуратнее с именами и путями
  
$line "";
  
// Устанавливаем соединение, имя которого
  // передано в параметре $hostname
  
$fp fsockopen($hostname80$errno$errstr30);
  
// Проверяем успешность установки соединения
  
if (!$fp) echo "$errstr ($errno)<br />\n";
  else
  {
    
// Данные HTTP-запроса
    
$data =
      
"title=".urlencode($_POST['title'])."&url=".urlencode($_POST['url'])."&sname=".urlencode($_POST['sname'])."&surl=".urlencode($_POST['surl'])."&email=".urlencode($_POST['email'])."\r\n\r\n";
    
// Заголовок HTTP-запроса
    
$headers "POST $path HTTP/1.1\r\n";
    
$headers .= "Host: $hostname\r\n";
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
    
// Отправляем HTTP-запрос серверу
    
fwrite($fp$headers.$data);
    
// Получаем ответ
    
while (!feof($fp))
    {
      
$line .= fgets($fp1024);
    }
    
fclose($fp);
  }
}
?>

Вот только не пойму как сделать, чтобы несколько значений отсылалось. Видите там(в коде моего первого сообщения) title и url c квадратными скобками... как тогда правильней сделать?

   
 
 автор: Flash5   (09.05.2005 в 13:55)   письмо автору
 
   для: JIEXA   (09.05.2005 в 11:42)
 

Не уверен на все сто но может сработать, вы вручную заполняете $_POST массив а потом вызываете нужный урл в новом окне. Хотя если вы готовы поработать то предлагаю использовать HTTP сокеты, я их разбирал когда мне нужно было определить куда ведет ссылка http://mysite/redirect.php. Не на многих серверах эта библиотека установлена.

   
 
 автор: JIEXA   (09.05.2005 в 21:14)   письмо автору
 
   для: Flash5   (09.05.2005 в 13:55)
 

Нет, все нормальн работать будет, просто мне не понятно как массив $title[] и $url[] отправить, а так мне все понятно. Может кто-нибудь сможет показать на премере кода?

   
 
 автор: Artem S.   (09.05.2005 в 21:18)   письмо автору
 
   для: JIEXA   (09.05.2005 в 21:14)
 

Да также.

$data="title[]=".urlencode($_POST['title'])
."&url[]=".urlencode($_POST['url']).
"&sname=".urlencode($_POST['sname']).
"&surl=".urlencode($_POST['surl']).
"&email=".urlencode($_POST['email']).
"\r\n\r\n";

   
 
 автор: JIEXA   (09.05.2005 в 21:21)   письмо автору
 
   для: Artem S.   (09.05.2005 в 21:18)
 

ааааааааааа теперь понятно, спасибо, сейчас попробую
зы: просто не знал что масивы можно методом пост отсылать

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования