2011-04-29 18 views
0

我想設置我的所有網頁,如果用戶不使用會話數據記錄轉發到登錄界面登錄,但是它不工作。當用戶點擊鏈接時,它會繼續到新鏈接,而不是被轉發到登錄頁面。我知道會話數據已清除,所以這不是問題。 以下是相關代碼:代碼推送瀏覽器,如果用戶沒有(檢查是否會話變量isset)不點火

頁眉:

<?php 
    session_start(); 
    if(!isset($_SESSION['answer'])) 
    { 
     header('Location: /?login'); 
     exit; 
    }?> 

登錄會話聲明:

$answer = mssql_fetch_array($res); 
    $_SESSION['answer']=$answer[0]; 

註銷:

<?php 
session_start(); 
session_destroy(); 
if(!isset($_SESSION['answer'])) 
{ 
    header('Location: /?login'); 
    exit; 
} 
?> 

回答

1

在關於如何做到這一點所有其他網頁上的迴應:

我使用的是在每一個安全的PHP頁面在我的網站開始要求。我稱之爲「auth.php」。如果用戶沒有登錄(通過會話變量檢查),auth.php會將他們重定向到登錄頁面。

如果你有一個頭,這是把它(如果它僅包含在受保護的部分,這是我的)一個偉大的地方。

我的註銷頁面破壞會話並將它們發送到登錄頁面。

+0

謝謝你,這是有益的,但你看到在我的代碼我的工作不 – Christopher 2011-04-29 02:35:05

+1

@?克里斯托弗:'的var_dump($ _ SESSION);' – zerkms 2011-04-29 02:38:17

+0

我想嘗試什麼zerkms說,無條件地重定向每個網頁上登出頁面上刪除isset – Mikecito 2011-04-29 02:39:23

4

session_destroy不取消任何全局變量。

如果您需要重定向會話後無條件權消滅 - 只是刪除isset,你不需要它。

+0

謝謝!任何提示重定向每隔一頁? – Christopher 2011-04-29 02:15:28

+0

@Christopher:我不能讓這個問題:-( – zerkms 2011-04-29 02:19:07

+0

我試圖使每個頁面上的重定向在會議isset – Christopher 2011-04-29 02:35:11

相關問題