2015-05-12 383 views
1

赫斯是logout.php註銷腳本PHP註銷和會話問題

unset($_SESSION['user']['id']); 
     session_unset(); 
     session_destroy(); 
     echo '<script type="text/javascript">window.location="login.php"</script>'; 

我的問題是註銷後,當我點擊瀏覽器的後退按鈕我重定向回index.php頁。顯示index.php一段時間後,它被重定向到login.php。我不明白爲什麼它重定向到index.php頁面。我不想在用戶註銷後的一秒鐘內向用戶顯示任何頁面/內容。

回答

1

不需要unset($_SESSION['user']['id']);session_unset();session_destroy()將做到這一切。試着用 -

session_destroy(); 
header('location:logout.php'); 
exit; 
1

那麼,您的用戶將不得不使用javascript加載該頁面,並且javascript正在執行重定向。你想要的是在PHP中發出一個頭來立即強制重定向。但是,如果你已經放了一個頭,你不能再做一次,所以你需要包含另一個PHP文件和你想要顯示的輸出,然後die()。通過Javascript來做到這一點,在window.location()調用生效之前,總會有一個頁面加載,並且很多彈出窗口攔截器的用戶甚至可能無法正確地執行javascript重定向。

2

檢查條件的每個頁面上登錄

if(!isset($_SESSION['user'] && !isset($_SESSION['user']['id'])){ 
    header('location:login.php') ; 
} 
0

嘗試使用後。

header ("Location: login.php");