Execute a HTTP POST Using PHP CURL

A customer recently brought to me a unique challenge. My customer wants information request form data to be collected in a database. Nothing new, right? Well, there’s a hurdle — the information isn’t going to be saved on the localhost database — it needs to be stored in a remote database that I cannot connect directly to.

I thought about all of the possible solutions for solving this challenge and settled on this flow:

  1. User will submit the form, as usual.
  2. In the form processing PHP, I use cURL to execute a POST transmission to a PHP script on the customer’s server.
  3. The remote script would do a MySQL INSERT query into the customer’s private database.

This solution worked quite well so I thought I’d share it with you. Here’s how you execute a POST using the PHP CURL library.

copy//extract data from the post

//set POST variables
$url = 'http://domain.com/get-post.php';
$fields = array(

//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data

//execute post
$result = curl_exec($ch);

//close connection




Leave a comment