从不同的SELECT获取cURL POST值

时间:2017-08-31 09:54:02

标签: php curl post drupal-7

我有一个PHP cURL脚本,可以将内容上传到Drupal 7网站。我使用<input>的{​​{1}}并使用POST请求发送值。我偶然发现了一个精选标签,不幸的是,它有另一个选择连接到它。 name个选项最终都以<select> type="hidden"结束,POST请求从中获取值。

我的代码:

<input>

cURL请求命令是:

// first select
<select id="edit-kat-0" name="kat_epi[und][sel][0]" class="form-select">
    <option value="6080">
    // ...
</select>

// second select
<select id="edit-kat-1" name="field_kat_epi[und][sel][1]" class="form-select">
    <option value="7090">
    // ...
</select>

// hidden input is used to send data
<input type="hidden" name="kat_epix[und][hsid]" value="59a7b06e12df0" />

我使用了隐藏的 curl_setopt($crl, CURLOPT_POST, 1); $postdata = array( "title_field[und][0][value]"=>"emporio", "kat_epix[und][hsid]"=>"6863", "op"=>"Αποθήκευση", ); curl_setopt ($crl, CURLOPT_POSTFIELDS, $postdata); $result=curl_exec($crl); 来提交包含第一个<input>值的表单,但我不知道两个<select>元素的值是如何合并的。

我试图用JavaScript检查这个值,但是Drupal对它进行了编码,让人无法知道。我尝试了一些明显的解决方案,比如“6080 + 7090”或“6080&amp; 7090”,没有运气。有谁知道Drupal 7如何合并<select>元素的值?

1 个答案:

答案 0 :(得分:0)

我付出了很多努力,但我终于成功地完成了这项工作。连接的SELECTs是drupal Hierarchical Select模块的一个特性。当选择子菜单元素时,该模块刷新页面。这样SELECTs就会从所有其他字段中单独使用POST请求。

我所做的是让cURL调用分层SELECT,然后调用其他字段.Firefox的网络控制台可以帮助您查看所有POST请求及其参数。