2016-02-10 3 views
-1

Я создаю сайт бронирования билетов, используя некоторые api, я использую json для получения & сообщений и создания сеансов php для передачи данных на другие страницы, стр. 1 : создание сеанса стр. 2: платежный шлюз (я проверил на платежной странице сеанса, он работает нормально) страница 3: страница успеха (после перенаправления с платежного шлюза на мою страницу сервера сеансы показывают нулевые значения в браузере Chrome, но отлично работают в Firefox) , все предложения приветствуются. Спасибо заранее. некоторый кодphp session не работает, когда моя страница перенаправляется с сервера платежного шлюза на мою страницу

<?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 
} 
?> 
+2

Вы можете поделиться с нами своим кодом? Как вы храните сеанс? –

+0

Я добавляю код в свой вопрос – user3292198

+0

Php session зависит от браузера пользователя. Страница сеанса, страница шлюза и страница успешной работы с тем же именем домена, то есть сайтом/сервером? Я подозреваю, что страница шлюза делает что-то вроде 'session_destroy()', но это может быть неправильно. В любом случае показанный код недостаточно. – Wizard

ответ

0

Причина такого поведения является то, что куки сессии не имеют срок годности и удаляются при закрытии браузера или веб-сайт остается. Таким образом, cookie больше не будет присутствовать, когда пользователь вернется с сайта оплаты.

Решение этого вопроса заключается в том, чтобы включить в строку запроса ссылку обратного вызова некоторый идентификационный атрибут. Вам также необходимо будет сохранить данные сеанса вместе с атрибутом идентификации на вашем сервере.

+0

, но он работает в браузере Firefox. – user3292198

+0

Мне нужна помощь, предложения приветствуются, – user3292198