Hi!!
Please guide me. How can I send variables from a PHP script to another URL using POST without using forms and hidden variables?

Thanks
Laxy

Recommended Answers

All 9 Replies

I don't think you can, I can't remember if you could do this off the top of my head; tell us what exactly you are trying to do instead of being so general.

ok thanks i will try it.

Regards
Laxy

Have u got solution for this.

You can do it with javascript, here a good article with the basics:
http://www.w3schools.com/dom/dom_http.asp

Basically you can create an HTTP request from within your page and get back and process a responce.

I guess this could be possible in PHP also. I have a look into it.

You can open an HTTP socket connection and send HTTP POST commands. Here is
an example :

<?
// Generate the request header
$ReqHeader =
"POST $URI HTTP/1.1\n".
"Host: $Host\n".
"Content-Type: application/x-www-form-urlencoded\n".
"Content-Length: $ContentLength\n\n".
"$ReqBody\n";

// Open the connection to the host
$socket = fsockopen($Host, 80, &$errno, &$errstr);
if (!$socket)

$Result["errno"] = $errno;
$Result["errstr"] = $errstr;
return $Result;
}
$idx = 0;
fputs($socket, $ReqHeader);
while (!feof($socket))

$Result[$idx++] = fgets($socket, 128);
}
//-------------------------------------------
?>


Or you can use the cURL extensions for PHP (http://curl.haxx.se). Once you build it and compile their support into PHP, it is fairly easy to do posting stuff (even over https):


<?
$URL="www.mysite.com/test.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://$URL");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "Data1=blah&Data2=blah");curl_exec ($ch);
curl_close ($ch);
?>


This will have the net effect of posting your data to the $URL site, without any header hacking.

You can also do other nifty things with cURL, like retrieve the HTML into variables and scrape through it for neat functionality.

To use cURL you need to recompile PHP or check with your ISP to see if they support it (http://www.php4hosting.com does)

If you are posting within your own server, you may not need to connect to the host as shown by manishMCAIT.

<a href="adminpanal.php?task=edit&id=<? echo $id ?> ">
......................................................
$ver = $_REQUEST=[task]; .....(this i use for SWITCH case)
and
$idi = $_REQUEST=[id]; ..... (this i use for database id)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.