Last updated on May 25th, 2016 at 11:59 am
Store Data In Remote Database and Execute a HTTP POST Using PHP CURL
. 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.I thought about all of the possible solutions for solving this challenge and settled on this flow:
- User will submit the form, as usual.
- In the form processing PHP, I use CURL to execute a POST transmission to a PHP script on the customer’s server.
- 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 post extract($_POST); //set POST variables $url = 'http://mydomain.com/postpage.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 POST foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } rtrim($fields_string,'&'); //open connection $ch = curl_init(); //set the url, number of POST vars, POST data curl_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 connection curl_close($ch);
Thanks ๐
Hi, interesting post. I have been wondering about this issue,so thanks for sharing. I will definitely be coming back to your site.