使用POST通过curl发送wordpress表单数据

时间:2018-01-04 19:16:54

标签: php wordpress curl

我需要使用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);

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

根据您拥有的表单类型(可能是.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()