0

我有以下表格,我想提交给 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>
4

1 回答 1

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);
于 2013-02-22T21:57:14.623 回答