我有以下表格,我希望提交给WorldPay。在提交之前,我想使用PHP将一些变量保存到会话中。如果可能的话,我不喜欢使用jQuery或Ajax。
提前致谢。
<form action="https://secure-test.worldpay.com/wcc/purchase" name="buyform" id="buyform" method="post">
<input type="hidden" name="instId" value="123456">
<input type="hidden" name="cartId" value="abc123">
<input type="hidden" name="currency" value="GBP">
<input type="hidden" name="hideCurrency">
<input type="hidden" name="amount" value="10">
<input type="hidden" name="desc" value="">
<input type="hidden" name="testMode" value="100">
<input type="hidden" name="lang" value="en-GB">
<input type="hidden" name="noLanguageMenu">
<input type="hidden" name="hideContact">
<input type="hidden" name="fixContact">
<input type="hidden" name="name" value="AUTHORISED">
<input type="hidden" name="address1" value="4 The Street">
<input type="hidden" name="address2" value="My Suburb">
<input type="hidden" name="address3" value="">
<input type="hidden" name="town" value="my town">
<input type="hidden" name="region" value="region or county">
<input type="hidden" name="postcode" value="AB10 5AB">
<input type="hidden" name="country" value="GB">
<input type="hidden" name="tel" value="0123456789">
<input type="hidden" name="email" value="demo@worldpay.com">
</form>
答案 0 :(得分:0)
确保在发送任何标头之前首先运行session_start()
。然后在会话中添加一个值就像:
$_SESSION['instId'] = $_POST['instId']
为每个表单值执行此操作,只要该会话有效,它就会被保存并可访问会话数组。
您需要先将表单指向自己的脚本才能实现此目的。
之后,您可以使用curl
发送请求,将帖子数据发送到https://secure-test.worldpay.com/wcc/purchase
,如下所示:
//set POST variables
$url = 'https://secure-test.worldpay.com/wcc/purchase';
$fields = array(
'instId' => urlencode($_POST['instId']),
... other fields
);
$postVars = http_build_query($fields);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $postVars);
$result = curl_exec($ch);
curl_close($ch);