从不同的 SELECT 获取 cURL POST 值

Get cURL POST value from different SELECTs

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

我的代码:

// 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 请求命令为:

    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> 元素值的表单,但我不知道两个 <select> 元素的值如何合并。

我曾尝试使用 JavaScript 检查该值,但 Drupal 对其进行了编码,因此无法得知。我尝试了一些明显的解决方案,例如“6080+7090”或“6080&7090”,但没有成功。有谁知道 Drupal 7 如何合并 <select> 个元素的值?

我费了好大的功夫,终于自己解决了这个问题。连接的 SELECT 是 drupal 分层 Select module.This 模块的一个功能,当子菜单元素是 chosen.This SELECT 使用 POST 请求的方式时,模块会刷新页面其他字段。

我所做的是对分层 SELECT 进行 cURL 调用,然后对 fields.Firefox 网络控制台的其余部分进行 cURL 调用,这对您有很大帮助,因为您可以看到所有 POST 请求及其请求参数.