我正在使用一些api创建机票预订网站,我使用json获取& amp;发布值并创建php会话以将数据传递给其他页面, 第1页:创建会话 第2页:支付网关(我检查了会话的支付页面,它工作正常) 第3页:成功页面(从支付网关重定向到我的服务器页面后,会话在Chrome浏览器中显示空值但在Firefox中正常工作)。 所有的建议都是受欢迎的。谢谢。 一些代码
<?php
session_start();
if(isset($_REQUEST['blockTicketId'])!=''){
$rootId= $_REQUEST['ruteId'];
if( $_REQUEST['dropPoint_'.$rootId]!=''){
$board = explode("_", $_REQUEST['dropPoint_'.$rootId]);
}
$_SESSION['formcity']=$_REQUEST['fromCity'];
$_SESSION['tocity']=$_REQUEST['toCity'];
$_SESSION['dateofjurny']=$_REQUEST['fromDate'];
$_SESSION['pickup']=$board[0];
$_SESSION['pickupTime']=$board[2];
$_SESSION['travelName']=$_REQUEST['travelNmae'];
$_SESSION['seat']=$_REQUEST['selectedSeat_'.$rootId];
echo $_SESSION['blockTicketNumber']=$_REQUEST['blockTicketId'];
$_SESSION['mobno']=$_REQUEST['bookerMob'];
$_SESSION['mailid']=$_REQUEST['bookerEmail'];
$_SESSION['user']=$_REQUEST['UserName_1'];
$_SESSION['amnt']=$_REQUEST['selectedSeatAmnt_'.$rootId];
?>
<html>
<head>
<script>
function submitPayuForm() {
var payuForm = document.forms.payuForm;
payuForm.submit();
}
</script>
</head>
<body onLoad="submitPayuForm()">
<form action="PayUMoney_form.php" method="post" name="payuForm">
<table>
<tr>
<td></td>
</tr>
<tr>
<td></td>
<td><input style="visibility:hidden" name="amount" value="<?php echo "1"; ?>" /></td>
<td></td>
<td><input style="visibility:hidden" name="firstname" id="firstname" value="<?php echo $_REQUEST['UserName_1']; ?>" /></td>
</tr>
<tr>
<td></td>
<td><input style="visibility:hidden" name="email" id="email" value="<?php echo $_REQUEST['bookerEmail']; ?>" /></td>
<td></td>
<td><input style="visibility:hidden" name="phone" value="<?php echo $_REQUEST['bookerMob']; ?>" /></td>
</tr>
<tr>
<td colspan="4"><input type="submit" style="visibility:hidden" value="Submit" /></td>
</tr>
</table>
</form>
</body>
</html>
<?php
}
?>
答案 0 :(得分:0)
此行为的原因是会话cookie没有过期日期,并且在浏览器关闭或网站离开时会被删除。因此,当用户从付款网站返回时,cookie将不再存在。
解决此问题的方法是在回调链接的查询字符串中加入一些标识属性。您还必须将会话数据与标识属性一起存储在服务器上。
答案 1 :(得分:0)
我还没有尝试过,但是您可以尝试通过Paymnet网关重定向页面从您的网站向Payumoney网关成功页面传递“ 会话变量”。/
示例: 1)您的网站付款表格+将您的会话存储在GLOBAL会话变量($ SESSION [var] =“ abc”)+中,还将会话变量存储在(付款网关给定的数组参数)->(2)网关页面->(3)从传递的数组中再次访问您的会话变量。
注意:-不依赖于网关成功页面上的session_start()函数。 告诉我是否可行。