【问题标题】:How to send WordPress form data via curl using POST?如何使用 POST 通过 curl 发送 WordPress 表单数据?
【发布时间】:2018-01-04 19:16:54
【问题描述】:

我需要使用 CURL 将以下代码插入 POST:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.bmby.com/shared/AddClient/index.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_REFERER, 'http://xxxxxxxx/');

$data = [
            'ProjectID' => xxxx
            'Password' => 'xxxxxx',
            'Fname' => $_POST['your-name'],
            'Email' => $_POST['email'],
            'Phone' => $_POST['your-tel'],
            #'Esse' => $_POST['msg'],
            'Referal' => 'http://xxxxxxxx/',
            'MediaTitle' => 'אתר אינטרנט ראשי',
            'AllowedMail' => 2, # 0 = allow, 2 = don't allow
            'IP' => $_SERVER['REMOTE_ADDR'],
];

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);

关于如何实现这一点以及我们创建的表单与上述代码相关的任何指导,以便我们用于从表单中收集所有潜在客户的服务可以获得所需的信息。

【问题讨论】:

    标签: php wordpress curl


    【解决方案1】:

    根据您拥有的表单类型(可以是 .php 文件或 WP 插件),上述代码需要位于提交表单时将执行的函数或 php 文件中,或者在 HTML 表单标签或使用表单提交操作/过滤器调用的函数中使用 action 属性(如果您使用插件,这很常见)。

    您发布的代码在正确替换为正确的变量(例如所有 URL 以及您在 $data 中传递的任何内容)时,就是使用 POST 执行 cURL 会话的代码。由于设置了CURLOPT_RETURNTRANSFER$output 将包含 cURL 会话成功的结果和 FALSE 失败的结果。确保像 $_POST['your-name'] 这样的 POST 变量对应于表单字段中的名称属性。还建议验证表单字段,而不是直接传递$_POST['your-name']。使用正确的变量名称和 URL 编辑代码后,代码应该会运行,结果将在您的 $output 中。您可以检查结果以查看它是否成功或根据需要对结果执行某些操作。如果你想获得 HTTP 代码,你应该查看curl_getinfo()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-02
      • 2016-03-11
      • 1970-01-01
      • 2016-02-18
      • 2020-09-03
      相关资源
      最近更新 更多