卷曲检查复选框

时间:2012-11-06 22:51:44

标签: php curl checkbox

我有一个简单的php curl函数,它转到另一个站点(不属于我)并填写字段并正常工作唯一的事情是我无法检查复选框。我似乎无法找到答案。

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_NOBODY, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path); 

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7"); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch, CURLOPT_POST, 1); 
$searchCriteria = array(
      'historicalMatches' => $_POST['historicalMatches'],  //the checkbox
      'firstName'  => $_POST['firstName'], 
      'middleName' => $_POST['middleName'],
      'lastName'   => $_POST['lastName'], 
      'suffix'     => $_POST['suffix'],
      'age'        => $_POST['age'],
      etc..);

curl_setopt($ch, CURLOPT_POSTFIELDS, $searchCriteria);  

我尝试将值设置为1并打开并检查。另一页上复选框的html为:

<input type="checkbox" name="historicalMatches" value="on">

我需要做的就是确保每次都检查它。所以我可以添加第二个

curl_setopt($ch, CURLOPT_POSTFIELDS, 'check the box');

只是点击我无法解决的方框。感谢

1 个答案:

答案 0 :(得分:0)

您可以尝试更改URL字符串并以这种方式提交已发布的数据,而不是尝试使用cURL填写表单吗?

如果找不到答案,请尝试查看Firefox的Http Headers扩展程序。从那里,您可以看到可用于向服务器提交数据的URL字符串。然后使用cURL和一些简单的PHP变量,您可以更改URL字符串并执行请求。

它基本上会为您填写表格并提交数据。我不确切地知道你想要做什么,但是如果你没有找到如何用你的方法检查方框,请看看这个!