2017-03-31 62 views
-1

我做了一個包裝來管理的PHP我的用戶會話,我想補充一點,破壞了會議的功能,這裏是我是如何做到:PHP會話不distroyed

<?php 
class SessionManager 
{ 
      . 
      . 
      . 
static function destroy() 
{ 
    session_destroy(); 
} 
} 
?> 

當註銷用戶我需要摧毀的會議上,所以我在logout.php調用destroy()功能是這樣的:

<?php 
include('SessionManager.php'); 
$mySess = new SessionManager(); 
$session = $mySess -> sessionStart('InstallationName'); // create/start a new session or start the existent session 
$mySess -> destroy(); 
echo $_SESSION['cook']; 
?> 

但問題是,這段代碼執行時,仍然顯示的$_SESSION['cook']令牌值(S類似於t2utt3uejvamu1kq623vl29pd2),這意味着會話不會被破壞。

p.s:我之前用同一段代碼發表了一篇文章,但現在使用相同的代碼我有一個新問題。

+0

[我有一個*「déjàvue」*](http://stackoverflow.com/q/43150249/);從你的另一個帳戶。 http://stackoverflow.com/users/7699266/aurelson –

+0

@ Fred-ii-你讀過這篇文章了嗎? – ThisIsMe

+0

那麼爲什麼要使用另一個帳戶?哦,我知道......你必須「等待」,它不會讓你發佈一個新問題。 –

回答

0

session_destroy不會取消設置銷燬$ _SESSION變量的$ _SESSION變量$ _SESSION變量已在同一頁面上設置。你將加載的下一頁,它不會被設置,因爲會話被銷燬。如果由於某種原因,你想在同一頁面上取消設置變量,那麼做一些像unset($ _ SESSION ['cook']);