2014-10-09 48 views
0

在我的「estabelecimento.php」中,我通過Ajax將數據發送到「carrinho.php」,並將其存儲在會話中。 我需要訪問在刷新瀏覽器時在「carrinho.php」上創建的會話。我可以通過Ajax更新會話,並在PHP閱讀此會話之後?

estabelecimento.php

<?php 

    session_start(); 

    if(isset($_SESSION['prato'])){ 
     echo'have session'; 
    } else { 
     echo'session not found'; 
    } 
?> 
<script> 
$.ajax({ 
     url: "carrinho.php", 
     type: 'post', 
     data: { 
      idPrato  : idPrato, 
      quantidade : quantidade, 
      detalhes : detalhes, 
      acao  : acao 
     } 
    }); 
</script> 

carrinho.php

<?php 

    session_start(); 

    // add items to session 
    if ($_REQUEST['acao'] == 'cadastrar'){ 
     if (empty($_SESSION['prato'])){ 
      $_SESSION['prato'][] = $_REQUEST['idPrato']; 
     } else { 
      if(!in_array($_REQUEST['idPrato'],$_SESSION['prato'])){ 
       $_SESSION['prato'][] .= $_REQUEST['idPrato']; 
      } 
     } 
    } 

    // remove item from session 
    if ($_REQUEST['acao'] == 'remover'){ 
     $removePrato = array_search($_REQUEST['idPrato'], $_SESSION['prato']); 
     unset($_SESSION['prato'][$removePrato]); 
    } 
?> 
+0

'$ _SESSION'是特定於用戶的會話,而不是特定的一個特定的PHP腳本的實例。 '$ _SESSION'僅用於允許用戶會話中的頁面之間共享數據。 – 2014-10-09 03:32:26

回答

0

estabelecimento.php開幕<?php標籤後添加session_start();

0

得到estabelecimento.php網頁會話數據,你應該開始會話

<?php 
    session_start(); 
    if(isset($_SESSION['prato'])){ 
     echo'have session'; 
    } else { 
     echo'session not found'; 
    } 
?> 

session_start - 開始新的或現有的恢復會話

+0

在完整的代碼中,我已經開始了會話,但在「carrinho.php」文件中有一個會話,而在「estabelecimento.php」文件中有相同名稱的會話。 「estabelecimento.php」中的輸出:Array([0] =>) 「carrinho.php」中的輸出:Array([0] => 43 [1] => 63 [2] => 67) – 2014-10-09 18:33:31