我正在尝试从支付网关获取回复,并将所选结果显示在结果页面上,“approved.php”。我需要将变量从此代码传递给“approved.php”。有关如何使用SESSION或POST进行编码的任何建议吗?
if ($_POST["check"] != "1")
{}//do nothing
if($response_array[3]=="This transaction has been approved.")
{
session_start ();
$_SESSION[($response_array[7])] = $trans_id;
echo '<script language="Javascript">';
echo 'window.location="/approved.php"';
echo '</script>';
}
else
{
echo '<script language="Javascript">';
echo 'window.location="/declined.html';
echo '</script>';
}
然后在approved.php上
session_start();
$trans_id = $_SESSION['trans_id'];
echo $trans_id;
这不起作用。我在approved.php上遇到会话已经启动错误,并且没有传递任何变量。任何帮助表示赞赏。
答案 0 :(得分:1)
我不知道你的数组$ response_array是什么样的,但如果它的第8个元素不是字符串“trans_id”,那就是问题所在。也许你想要:
$_SESSION['trans_id'] = $trans_id;
或
$_SESSION['trans_id'] = $response_array[7];
答案 1 :(得分:0)
根据您的问题,您的作业应如下所示:
$_SESSION['trans_id'] = $response_array[7];
虽然如果仅在accept.php
上需要,我会使用POST来存储你的trans_id