Hi,
I'm using the following code to perform a post request from PHP. It works fine on a server running PHP 5, but not on a server running PHP 4. I've tried switching error reporting on but it's not giving any output.
Any ideas?
Thanks,
Sean
I'm using the following code to perform a post request from PHP. It works fine on a server running PHP 5, but not on a server running PHP 4. I've tried switching error reporting on but it's not giving any output.
Code:
error_reporting(E_ALL); ini_set('display_errors', true); //CALL FUNCTION, AND PRINT OUT SERVERS RESPONSE echo do_post_request('http://www.example.com/form.php?form=7', 'CustomFields[7]=Sean&email=sean@example.com'); //should work in PHP 4 and 5 function do_post_request($url, $data, $optional_headers = null) { $start = strpos($url,'//')+2; $end = strpos($url,'/',$start); $host = substr($url, $start, $end-$start); $domain = substr($url,$end); $fp = pfsockopen($host, 80, $erstr, $errno, 5); if(!$fp) return null; fputs ($fp,"POST $domain HTTP/1.1\n"); fputs ($fp,"Host: $host\n"); if ($optional_headers) { fputs($fp, $optional_headers); } fputs ($fp,"Content-type: application/x-www-form-urlencoded\n"); fputs ($fp,"Content-length: ".strlen($data)."\n\n"); fputs ($fp,"$data\n\n"); $response = ""; while(!feof($fp)) { $response .= fgets($fp, 1024); } fclose ($fp); return $response; }
Thanks,
Sean
Comment