Execute a HTTP POST Using PHP CURL

WBOY
發布: 2016-06-23 14:30:56
原創
896 人瀏覽過

From: http://davidwalsh.name/execute-http-post-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:

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 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?

 

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板