Reputation: 1642
Can anyone help on how can I do to send the data from a form (POST) to an URL using PHP and cURL?
Using cURL, all I want to accomplish is send the data, I don't want to be redirected nor get any sort of output (HTML nor TEXT) just submit the data.
It would be nice to know if the data has been submitted successfully or not to handle error or redirection.
Additional Info. The reason I think I'm getting redirected is because once I execute the cURL, the destination page, which is a third party website, have a redirect into place confirming the user that their data has been received, and for some reason, when I send my data using cURL their redirection it effects my page, therefore my page it also redirects to their confirmation site.
Thank you all.
Sample Code:
$sub_req_url ="http://domain.com/util/request";
$ch = curl_init($sub_req_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_POSTFIELDS, "id=64&session=1&k=B0EA8835E&firstname=Name&lastname=Lastname&company=Company%20Name&[email protected]&work_phone=123-456-7890");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
$resp = curl_exec($ch);
curl_close($ch);
I edit this post to show an example of what I'm using. I should posted the code in first place.
Upvotes: 5
Views: 27242
Reputation: 198204
Can anyone help on how can I do to send the data from a form (POST) to an URL using PHP and cURL?
Please search the site and/or post your code how you do it. Looks like that doing the actual POST request is not your concrete problem. In case it is, take a look at this related question: Passing $_POST values with cURL and php curl: i need a simple post request and retrival of page example
Using cURL, all I want to accomplish is send the data, I don't want to be redirected nor get any sort of output (HTML nor TEXT) just submit the data.
Assuming $ch
is your curl handle:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
The meaning of the options are described on the PHP manual page.
Then do your curl_exec
and check the return value if the request was successfull or not.
A probably related question for that part is: Make curl follow redirects?
Upvotes: 0
Reputation: 403
function post($requestJson) {
$postUrl = $this->endpoint."?access_token=".$this->token;
//Get length of post
$postlength = strlen($requestJson);
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$postUrl);
curl_setopt($ch,CURLOPT_POST,$postlength);
curl_setopt($ch,CURLOPT_POSTFIELDS,$requestJson);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
//close connection
curl_close($ch);
return $response;
}
Upvotes: 7