当我的页面从支付网关服务器重定向到我的页面时,PHP 会话不起作用


php session not working when my page redirect from payment gateway server to my page

>我正在使用一些API创建订票网站,我使用json获取和发布值,并创建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 
}
?>

此行为的原因是会话 Cookie 没有到期日期,并且在浏览器关闭或网站离开时会被删除。因此,当用户从支付网站返回时,cookie将不再存在。

解决方案是在回调链接的查询字符串中合并一些标识属性。您还必须将会话数据与标识属性一起存储在服务器上。

我没有尝试过,但您可以尝试通过Paymnet网关重定向页面将"会话变量"从您的网站传递到Payumoney网关成功页面。

例:1)您的网站付款表单 + 将您的会话存储在全局会话变量 ($SESSION[var]="abc") + 并将您的会话变量存储在(支付网关给出的数组参数)中 -> (2) 网关页面 -> (3) 从传递的数组再次访问您的会话变量。

注意:- 不要依赖网关成功页面上的 session_start() 函数。告诉我它是否有效。