我为商店工作的公司联系到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和新地址,并且没有运气可能阻止存储第二个变量。
非常感谢任何帮助!