[上一篇] 畢業囉~~
Incredible 11-Year-Old Yodeller [下一篇]
在PHP用post方式傳送表單
PHP 2006-08-03 11:39
我們知道表單如果是get,要用PHP來傳表單資料一點都不難,把網址加上問號,就可以在後面附加資料,如 http://your.domain/form.php?data1=1&data2=2。可是,萬一接收表單那支程式只收POST怎麼辦?
我們知道PHP現在可以用$_POST[]這種變數來接收POST表單資料,那我們該如何從PHP中傳送表單資料給它呢?
有一種方法是用開socket的方式,模仿瀏覽器與伺服器溝通的行為,去傳送資料。但這邊介紹另一種更簡單的方式,用CURL。
首先,你必須確認你的PHP在編譯時有加入CURL支援,接者,我們看一下以下的程式碼:
$url = "http://your.domain/form.php";
$data = "data1=1&data2=2";
$data = urlencode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
curl_close($ch);
像這樣,我們就可以透過POST方法傳送data1值為1且data2為2的資料給form.php這支程式囉。而如果在畫面上,不想要該程式傳回的畫面的話,我習慣在前後加上ob_start()及ob_end_clean()。


![Validate my RSS feed [Valid RSS]](../images/links/valid-rss.png)