通过cURL将$ _POST数据发送到外部服务器的问题

时间:2015-09-04 16:43:15

标签: php jquery forms email curl

我为商店工作的公司联系到1shoppingcart数据库。我们最近注册了FreshAddress,以便在将信息发送到1shoppingcart之前验证电子邮件。

为了将此信息提供给1shoppingcart,我将名称存储在会话中 - 因为在验证脚本运行之后,它似乎清除了除验证的电子邮件地址之外的任何表单数据,以及剩余的隐藏值通常采用隐藏输入字段的形式。

除了第二个ar变量外,所有内容都会转移。这就是它通常在表单内部查看的方式:

<input name="ar" type="hidden" id="ar" value="000000"> <input name="ar" type="hidden" id="ar" value="000000"> <input name="ar" type="hidden" id="ar" value="000000">

为了发送信息,我将通常隐藏的值存储在表单中作为php变量并将它们放入一个数组中以便通过它发送。同样,名称,电子邮件和其他所有工作除外,因为某些原因没有存储$ ar2。这是我的代码:

    if($submitPage === true) {
    $name = $_SESSION['Name'];
    $email = $_POST['Email1'];
    $merchId = '000000';
    $arTY = 'Url to redirect goes here';
    $copyarresponse = '0';
    $custom = '0';
    $ar1 = '000000';
    $ar2 = '000000';
    $ar3 = '000000';
    $allwMulti = '0';
    $visiblefields = 'Name, Email1';
    $requiredFields = 'Name, Email';

    // where are we posting to?
    $url = 'http://www.mcssl.com/app/contactsave.asp';

    // what post fields?
    $fields = array(
       'merchantid' => $merchId,
       'ARThankyouURL' => $arTY,
       'copyarresponse' => $copyarresponse,
       'custom' => $custom,
       'ar' => $ar1, $ar2, $ar3,
       'allowmulti' => $allwMulti,
       'visiblefields' => $visiblefields,
       'requiredfields' => $requiredFields,
       'Name' => $name,
       'Email1' => $email
    );

    // build the urlencoded data
    $postvars = http_build_query($fields);

    // open connection
    $ch = curl_init();

    // set the url, number of POST vars, POST data
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, count($fields));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars);

    // execute post
    $result = curl_exec($ch);

    // close connection
    curl_close($ch);
    session_destroy();

    }

代码基本上在已经验证的电子邮件运行时返回,发送安全且$ submitPage设置为true。

我已经浏览了这个论坛和其他各种在线资源,并联系了1shoppingcart和新地址,并且没有运气可能阻止存储第二个变量。

非常感谢任何帮助!

0 个答案:

没有答案