posting without a from

From: Date: Thu, 14 Mar 2002 17:21:32 +0000
Subject: posting without a from
Groups: php.general 
Request: Send a blank email to php-general+get-88547@lists.php.net to get a copy of this message
I am trying to post to another server without a form. The input is from a form on my server. I log the entry in MySQL and then pass the input to this function to open the connection and return a query result. The post to the other server requires authentication in the form of USERID and PASSWORD. At first this function returned "HTTP 1.1/ Authentication Required" and now it is timing out. Incidentally, I have posted this data directly from a form with no problems. Anyone know why this isn't working? function process_CRIS($USERID, $PASSWORD, $S_S, $S_M, $SRCH__LNAME, $SRCH__FNAME) { $url = "http://10.0.0.10/premium/comb/Results.phtml"; $url = preg_replace("@^http://@i", "", $url); $host = substr($url, 0, strpos($url, "/")); $uri = strstr($url, "/"); $UserID = "xxxx"; $Password = "xxxxx"; $reqbody="USERID=".urlencode($UserID); $reqbody=$reqbody."&PASSWORD=".urlencode($Password); $reqbody = $reqbody."&S_S=".urlencode($S_S); // $S_S can consist of an array of possible search parameters that need to be concatenated to ab,ac,ad, etc. if (isset($S_S)){ foreach($S_S as $key=>$val) { if ($key == 0){ $reqbody = $reqbody."&S_S=".urlencode($val);} else {$reqbody = $reqbody.",".urlencode($val);} } } if (isset($S_M)){ foreach($S_M as $key=>$val) { if ($key == 0){$reqbody = $reqbody."&S_M=".urlencode($val);} else {$reqbody = $reqbody.",".urlencode($val);} } } $reqbody = $reqbody ."&SRCH__LNAME=".urlencode($SRCH__LNAME)."&SRCH__FNAME=". urlencode($SRCH__FNAME); $contentlength = strlen($reqbody); $reqheader = "POST $uri HTTP/1.1\r\n". "Host: $host\n". "Content-Type: application/x-www-form-urlencoded\r\n". "Content-Length: $contentlength\r\n". "$reqbody\r\n"; $socket = fsockopen($host, 80, $errno, $errstr); if (!$socket) { $result = "Error: ".$errno. $errstr; return $result; exit; } fputs($socket, $reqheader); $result = fgets($socket, 4096); fclose($socket); return $result; }

« previous php.general (#88547) next »