Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Execute a HTTP POST Using PHP CURL

DZone's Guide to

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.

· Database Zone
Free Resource

Learn NoSQL for free with hands-on sample code, example queries, tutorials, and more.  Brought to you in partnership with Couchbase.

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.

//extract data from the postextract($_POST);//set POST variables$url = 'http://domain.com/get-post.php';$fields = array('lname'=>urlencode($last_name),'fname'=>urlencode($first_name),'title'=>urlencode($title),'company'=>urlencode($institution),'age'=>urlencode($age),'email'=>urlencode($email),'phone'=>urlencode($phone));//url-ify the data for the POSTforeach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }rtrim($fields_string,'&');//open connection$ch = curl_init();//set the url, number of POST vars, POST datacurl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_POST,count($fields));curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);//execute post$result = curl_exec($ch);//close connectioncurl_close($ch);

How would you have solved this problem?

The Getting Started with NoSQL Guide will get you hands-on with NoSQL in minutes with no coding needed. Brought to you in partnership with Couchbase.

Topics:
php ,curl ,post ,database

Published at DZone with permission of David Walsh. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}