2013-02-27 32 views
1

我是新來的PHP(1個半月),我已經設置了一個PHP登錄腳本,檢查我已經設置的數據庫,如果他們已經註冊或不它完美地工作,但我想停止用戶而不是登錄,在地址欄中輸入網址通過鍵入http://example.com/home.html來訪問頁面,如果他們確實嘗試這樣做,請檢查他們是否已登錄並且如果他們沒有,將它們重定向到登錄頁面以輸入他們的憑證。我到處搜索了一個,他們要麼根本不幫我,要麼難以讓一個剛接觸PHP的人理解。我相信這將包括使用PHP的會話但林不完全知道如何代碼或寫PHP的重定向,如果用戶已經驗證或不

感謝

回答

1

使用會話:

if (!$_SESSION['is_logged_in']) { 
    redirect_to_login_page(); 
} 

然後在您的登錄腳本,之後他們成功地登錄,你只需要

$_SESSION['is_logged_in'] = true; 

和任何「受保護的」頁面將允許他們通過。

1

假設你的登錄腳本做一些事情,如:

$_SESSION['userid'] = ...; 

然後,你可以這樣做:

if(!isset($_SESSION['userid'])) die(header("Location:/login.php")); 

當然,還有更優雅的解決方案,但他們依靠的更具體的方面你建立。

0

您可以編寫一些會話檢查以開始,然後將該文件包含在您必須保護的所有文件之上。例如

session_start(); 
if($_SESSION['authenticated']!=1) 
{ 
echo "Not logged in"; 
} 

並會在登錄表單動作你可以設置會話值。因此,如果用戶名和密碼是否正確

相關問題