【问题标题】:Get cURL POST value from different SELECTs从不同的 SELECT 获取 cURL POST 值
【发布时间】:2017-08-31 09:54:02
【问题描述】:

我有一个 PHP cURL 脚本,可以将内容上传到 Drupal 7 网站。我使用<input>name 并通过POST 请求发送值。我偶然发现了一个选择标签,不幸的是,它连接了另一个选择。两个<select>s 选项都以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);

我已经使用隐藏的&lt;input&gt; 来提交带有来自第一个&lt;select&gt; 的值的表单,但我不知道来自&lt;select&gt; 两个元素的值是如何合并的。

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

【问题讨论】:

  • 您能与我们分享您正在使用的 cURL 请求命令吗?另外,您是否尝试过在您的 HTML 代码上使用 linter?在编辑您的帖子时,我必须更正几个空格。我希望这些是不相关的拼写错误,否则,这些可能会影响您的结果。
  • curl_setopt ($crl, CURLOPT_POSTFIELDS, $postdata); $result=curl_exec($crl);这是你想要的吗?我已经成功发布了内容,只是无法从第二个选择中指定子类别
  • 是的。我已将此添加到您的问题中。
  • &lt;input&gt;如何从&lt;select&gt;获取数据?在您的curl 请求中,我可以看到您正在为&lt;input&gt; 设置数据,但是“title_field”是什么?
  • 在 drupal 表单中有一个添加选项,可将所有选定的类别和子类别添加到表格和 内部,因此使用 javascript.Drupal 添加 5 个大型 js 文件很难找到特定的东西。“title_field”只是表单的另一个输入。

标签: php curl post drupal-7


【解决方案1】:

我花了很多力气,但我终于设法自己解决了这个问题。连接的选择是Drupal层次结构选择模块的功能。选择sub-menu元素时,本模块会刷新页面。这种方式选择从所有其他字段中使用邮政请求。

> >

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

【讨论】:

    猜你喜欢
    • 2019-12-29
    • 2020-04-07
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 2018-01-15
    • 1970-01-01
    相关资源
    最近更新 更多