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

Форум PHP

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

 

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

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

тема: Помогите с обработчиком формы
 
 автор: technic611   (22.07.2006 в 10:50)   письмо автору
 
 

У меня есть форма на сайте. В ней всего одно поле. Данные отправляются на другой сайт и обрабатываются. В новом окне появляется обработанная информация. Так вот мне нужно из этого окна убрать всю не нужную мне информацию. Оставить только полезную. (т.к. там полезной информации только одна строчка)
Да и желательно домен поменять на домен монего сайта.
Я пробовал с сохраненной страницей. С помощью такой конструкции.

<?

$text 
file_get_contents("http://localhost/native.htm"); 
$patt1 "/<\TD class=texttab>(.*?)<\/u><\/TD>/ims"
preg_match_all($patt1$text$array); 


 


 
echo 
"<p align='center'><b><u><font color='#808080' face='Tahoma'>$array[1]</font></u>

?>

А удаленно не выходит. Помогите советом

   
 
 автор: valenok   (22.07.2006 в 10:55)   письмо автору
 
   для: technic611   (22.07.2006 в 10:50)
 

А как ты получаешь доступ к новому окну открытому у пользователя другим сервером?

   
 
 автор: technic611   (22.07.2006 в 12:22)   письмо автору
 
   для: valenok   (22.07.2006 в 10:55)
 

Чего-то вопроса не понял. Даю пояснения. Мне нужно что-то вроде html грабера сделать. Тут дело осложняется использованием формы и обработчика.

   
 
 автор: cheops   (22.07.2006 в 11:40)   письмо автору
 
   для: technic611   (22.07.2006 в 10:50)
 

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

   
 
 автор: technic611   (22.07.2006 в 12:20)   письмо автору
 
   для: cheops   (22.07.2006 в 11:40)
 

Может ссылки дадите для ознакомления по работе с запросами через сокеты

   
 
 автор: cheops   (22.07.2006 в 13:12)   письмо автору
 
   для: technic611   (22.07.2006 в 12:20)
 

Подробнее о сокетах можно почитать в темах по ссылкам
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=600
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1879
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=8931
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=9050
http://www.softtime.ru/forum/read.php?id_forum=2&id_theme=12734
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=17831

   
 
 автор: technic611   (22.07.2006 в 13:31)   письмо автору
 
   для: cheops   (22.07.2006 в 13:12)
 

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

<?php  
  $hostname 
"домен"
  
$path "native.php"// Аккуратнее с именами и путями 
  
$line ""
  
// Устанавливаем соединение, имя которого 
  // передано в параметре $hostname 
  
$fp fsockopen($hostname80$errno$errstr30);  
  
// Проверяем успешность установки соединения 
  
if (!$fp) echo "$errstr ($errno)<br />\n";  
  else 
  {  
    
// Данные HTTP-запроса 
    
$data =  
      
"name=".urlencode("Игорь")."&pass=".urlencode("пароль")."\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);  
  }  
  echo 
$line
?> 


   
 
 автор: cheops   (22.07.2006 в 13:58)   письмо автору
 
   для: technic611   (22.07.2006 в 13:31)
 

Ответ удалённого сервера будет в переменной $line - теперь останется только прочитать его.

   
 
 автор: technic611   (22.07.2006 в 14:37)   письмо автору
 
   для: cheops   (22.07.2006 в 13:58)
 

Что-то не получается. Страница выводится , но без обработанных данных. Приведу
форму

 <table width="150" height="100" border="0" cellspacing="0" cellpadding="0">
 <tr>
  <td>
   <div align="center"><font face="Arial, Helvetica, sans-serif"><b><font size="2">Шасси(Кузов)</font></b></font></div>
  </td>
 </tr>   
 <tr>
  <form action=http://домен/native.php method=post target="_blank"> 
  <td> 
   <center>
    <input type=text size=20 name=chassis><br>
    <input type="hidden" name="f" value="1">
    <input type=submit value="Определить">
   </center>
  </td></form>
 </tr>
 </table>



А вот как я изменил код


$data =  "chassis=".urlencode("FQ1FVA-10086")."&f=".urlencode("1")."\r\n\r\n";  


Посмотрите может где-то ошибка. Да еще сверху страницы выводится

HTTP/1.1 200 OK Date: Sat, 22 Jul 2006 10:36:49 GMT Server: Apache/1.3.36 (Unix) mod_fastcgi/2.4.2 mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.2 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.27 OpenSSL/0.9.6b X-Powered-By: PHP/4.4.2 Connection: close Transfer-Encoding: chunked Content-Type: text/html; charset=WINDOWS-1251 d3d

   
 
 автор: technic611   (22.07.2006 в 15:28)   письмо автору
 
   для: technic611   (22.07.2006 в 14:37)
 

Попробовал с формой у другого сайта. Сверху выводится

HTTP/1.1 200 OK Date: Sat, 22 Jul 2006 11:25:16 GMT Server: Apache/1.3.33 (Unix) Cache-Control: max-age=0 Expires: Sat, 22 Jul 2006 11:25:16 GMT Set-Cookie: lang=russian; expires=Sun, 22 Jul 2007 11:25:16 GMT Connection: close Transfer-Encoding: chunked Content-Type: text/html; charset=windows-1251

Но данные нужные выводит. Где здесь может быть ошибка

Еще вопрос. Если я буду работать через сокеты. Хосты у друго сайта будут фиксироваться. Администратор догадается, если я буду вести такую работу?

   
Rambler's Top100
вверх

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