我有一个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>
元素的值?
答案 0 :(得分:0)
我付出了很多努力,但我终于成功地完成了这项工作。连接的SELECTs是drupal Hierarchical Select模块的一个特性。当选择子菜单元素时,该模块刷新页面。这样SELECTs就会从所有其他字段中单独使用POST请求。
我所做的是让cURL调用分层SELECT,然后调用其他字段.Firefox的网络控制台可以帮助您查看所有POST请求及其参数。