将POST数据发送到Mautic表单

时间:2016-06-21 00:57:53

标签: php forms post paypal mautic

我正在尝试将PayPal POST数据发送到Mautic表单,如此guide

我对示例中的代码所做的唯一更改是删除IP转发内容。

我的代码似乎连接到Mautic并发送数据,因为Mautic正在表单提交中创建一个新联系人,但它只记录IP地址和创建日期 - 没有填写任何字段.I尝试记录Mautic的回复,我正在重定向到表单提交的消息和HTTP code 302

以下是我用来向函数发送数据的代码:

//collect contact details
$payer_email = $_POST['payer_email'];
$given_name = $_POST['first_name'];
$surname = $_POST['last_name'];
$phone = $_POST['contact_phone'];

//build array and forward to mautic
$_REQUEST = array('Given name' => $given_name, 'Surname' => $surname, 'Email' => $payer_email, 'Phone' => $phone);
pushMauticForm($_REQUEST, 4);
}

生成如下数组:

[Email] => buyer@paypalsandbox.com
[Given name] => John
[Surname] => Smith
[Phone] => 

字段名称与我的表单字段标签匹配,并且顺序相同。

我觉得我错过了一些简单的东西,但我无法弄清楚它是什么。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

这是因为你被重定向了。在pushMauticForm中添加以下内容以跟踪重定向。

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

答案 1 :(得分:1)

我的猜测是你尝试发送字段标签,但Mautic需要字段别名。尝试这样的事情:

pushMauticForm(
    array(
        'payer_email' => $_POST['payer_email'],
        'given_name' => $_POST['first_name'],
        'surname' => $_POST['last_name'],
        'phone' => $_POST['contact_phone'],
    ),
    4
);

仔细检查真正的别名。最好的方法是在表单详细信息页面中单击手动复制按钮,您可以在其中看到生成的表单HTML。 <input name="mauticform[>>alias_is_here<<]"/>标记中存在别名。