2014-06-21 89 views
0

即時通訊在我的一個小測試端上銷燬我的會話時遇到了麻煩。註銷/銷燬會話時出現的問題

我可以從我的code_login.php文件和header()登錄到需要登錄的其他頁面。但是,當我退出時,即使我退出了,有時也可以返回該頁面。

(在session_start()是我的所有網頁的頂部)

這是我的登錄代碼:

$res = $db->query($sql); 
$num = $res->num_rows; 

if ($num == 1) { 
    $_SESSION['user'] = array(
     'username' => $username; 
    ); 
} 

這裏是註銷:

session_start(); 
$_SESSION = array(); 
session_destroy(); 
header('LOCATION: index.php?loggedOut'); 

這是頂我的頁面需要登錄

session_start(); 
if (isset($_SESSION['user'])) { 
    require some stuff; 
} else { 
    header('LOCATION: index.php?loginNeeded'); 
} 

但是有時候我仍然可以在登錄後返回到登錄頁面。

+0

這可能會帶給你一些快樂 http://stackoverflow.com/questions/3948230/best-way-to-completely-destroy-a-session-even-if-the-br owss-is-not-closed – Matt

回答

0

session_start();

要設置每個頁面或取消會議,以及閱讀會議

數據

+0

檢查您的瀏覽器是否支持cookies以及您的php.ini是否支持使用cookie的會話 – Ashish

0

在登錄的代碼頁的頂部添加session_start();插入:

session_start(); 
$res = $db->query($sql); 
$num = $res->num_rows; 

if ($num == 1) { 
    $_SESSION['user'] = array(
     'username' => $username; 
    ); 
}