Проблема с Post

Bulbazavr

Guest
Проблема с Post

есть такой класс :
<?
class socksender
{
var $User_Agent="Mozilla/4.0 (compatible; MSIE 5.01; Windows NT)";
var $Accept_Encoding="gzip, deflate";
var $method="POST";
var $protocol="HTTP/1.0";
var $send2port=80;

function send($host, $send2url, $referer, $data)
{
$http_query="";
while (list($name,$value)=each($data))
{
$tmp_data[]=urlencode($name)."=".urlencode($value);
}
$enc_data=implode("&", $tmp_data);
$len_data=strlen($enc_data);
if ($this->method=="POST")
{
$http_query=
$this->method." ".$send2url." HTTP/1.0\r\n".
"Referer: ".$referer."\r\n".
"Content-Type: application/x-www-form-urlencoded"."\r\n".
"Content-Length: ".$len_data."\r\n".
"Host: ".$host."\r\n".
"Accept: */*\r\n".
"Accept-Encoding: ".$this->Accept_Encoding."\r\n".
"Connection: Keep-Alive"."\r\n".
"User-Agent: ".$this->User_Agent."\r\n"."\r\n".
$enc_data;
flush();
$fs = fsockopen($host, $this->send2port, &$errno, &$errstr, 30);
if (!$fs) { die ("unable open socket: $errstr ($errno)");}
fputs ($fs, $http_query);
while($r=fgets ($fs, 20048)) $rt.=$r;
fclose($fs);
flush();
}
return $rt;
}
}
?>

надо с помощью этого класса передать данные "qwe" в echo.php методом post, пишу такую вешь :
<?
include "class.inc";
$host="localhost";
$send2url="http://localhost/echo.php";
$referer="http://localhost/echo.php";
$data="data=qwe";
$socks = new socksender;

$socks->send($host, $send2url, $referer, $data);
?>

получается вот что :
Warning: Variable passed to each() is not an array or object in c:\usr\local\apache\htdocs\class.inc on line 13

Warning: Bad arguments to implode() in c:\usr\local\apache\htdocs\class.inc on line 17
 

Bulbazavr

Guest
Теперь вот в чем проблема :
unable open socket: (0)
 

Bulbazavr

Guest
<?
include "class.inc";
$host="localhost";
$send2url="http://localhost/echo.php";
$referer="http://localhost/";
$data=array("data=qwe");
$socks = new socksender;

$socks->send($host, $send2url, $referer, $data);
?>
вот так работает , но не передает данные,мне нужнопередать скрипту echo.php значение name=qwe,скрипт echo.php выполняется,но данные в него не передаются
 

Bulbazavr

Guest
Еще вопрос, у меня на странице четыре формы и в каждой своя кнопочка типа <input type=submit name=name1 value="name1">,все они передают значения в один и тотже скрипт,как сделать чтобы допустип при нажатии кнопочки с именем name=name1 выполнялось одно действие,а при name=name2 другое ?
 

Demiurg

Guest
Либо в скрипте смотри переменные $name1 , $name2 и тд , либо в каждой форме поставь скрытое поле <input type = "hadden" name = "fromform" value = "form1"> и смотри его.
 

Bulbazavr

Guest
Автор оригинала: Demiurg
Либо в скрипте смотри переменные $name1 , $name2 и тд , либо в каждой форме поставь скрытое поле <input type = "hadden" name = "fromform" value = "form1"> и смотри его.
переменные $name1 и $name2 пустые,а я так понимаю они должны быть равны тому что написано в value ?
 

Demiurg

Guest
проверь, передаются ли они скрипту или нет, если ты делаешь сабмит по кнопке, то они должны передаваться.
 

Bulbazavr

Guest
Все спасибо,что-то с сервером было данные вообще не передавались.
 
Сверху