2013-04-03 85 views
0

如果頁面中有2個表單域,並且有2個不同的提交按鈕,我該如何告訴cURL要提交哪個表單?使用PHP cURL發佈數據

<form method="post" action="index.php"> 
    <input type="text" name="age"> 
    <input type="submit" name="agree"> 
    <input type="submit" name="disagree"> 
</form> 

到目前爲止我的代碼

//create array of data to be posted 
$post_data['age'] = '5'; 
  
//traverse array and prepare data for posting (key1=value1) 
foreach ($post_data as $key => $value) { 
    $post_items[] = $key . '=' . $value; 
} 

$post_string = implode ('&', $post_items); 

curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string); 

回答

1

沒有需要知道哪些形式HTML必須張貼。

表格可以由Method,Action和/或Set字段確定。

P.S.點擊指定的提交也正在發送。所以加post_data['agree'] = '';

P.P.S.不要將其用於垃圾郵件。

1

你可以傳遞一個數組CURLOPT_POSTFIELDS,讓PHP的curl擴展做的編碼等骯髒的工作

這樣可以節省你從編碼字符串!

curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_data);

+0

是的,但指定哪個提交按鈕點擊? – Iordanis

+1

'$ post_data ['agree'] ='Submit''其中'agree'既可以同意也可以不同意:) – timgws

+0

提交按鈕的名稱是$ _POST數組中的一個鍵。只需設置它並指定一些虛擬值,例如「提交」 – Karol