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

问题描述 投票:1回答:1

我需要使用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个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.