2011-08-16 58 views
0

我已創建會員系統,只有用戶可以輸入評論。但是,如果沒有登錄,每個人都可以通過在鏈接欄中輸入PHP文件的名稱來訪問每個頁面。如何將未註冊的用戶重定向到主頁? 感謝僅顯示已登錄用戶的頁面

回答

0

你如果用戶已經成功地登錄創建一個會話:

session_start(); // best to put this at the top of the first php file that's called, preferably on every page 
// check user credentials 
if (!valid credentials) { 
    header('Location: login.php'); 
    exit(); 
} 

$_SESSION['user'] = 'username'; 

而在PHP文件要檢查:

session_start(); // best to put this at the top of the first php file that's called, preferably on every page 

if (!isset($_SESSION['user'])) { 
    header('Location: login.php'); 
    exit(); 
} 
+1

你忘了退出!如果您不使用它,腳本將繼續執行並且代碼不受保護! – Cydonia7

+0

@Skydreamer:當然你是對的。謝謝 – PeeHaa

+0

儘管大多數這些腳本使用Cookie,因爲會話不會持久。 –

0

這只是一樣簡單if語句:

if(login_check()) 
{ 
    // Show the page 
} 
else 
{ 
    header('Location: adresse'); 
    exit(); 
} 
+0

問題是如何檢查。 -1 –

+0

這取決於他的代碼:/ – Cydonia7

0

這取決於您如何識別登錄我們這是一個會議嗎?一塊餅乾?您應該使用這些方法來測試登錄狀態。如果用戶未登錄,則應發送Location標題將他重定向到主頁。

header('Location: index.php'); die(); 

之後你再去阻止剩下的代碼運行。

注意:您必須在發送任何輸出之前發送它,否則它將不起作用。

相關問題