2013-03-08 43 views
-3

假設我有一個登錄頁面login.php,並且如果用戶登錄,那麼他應該重定向到userpanel.php。如何在兩個頁面上使用會話,以便只有經過驗證的會話用戶才能看到第二頁,沒有其他人可以看到該頁面。在php查詢中的會話

+4

[你有什麼試過?](http://www.whathaveyoutried.com/)請參見[問問建議](http://stackoverflow.com/questions/ask-advice)。 – 2013-03-08 14:16:16

+0

我無法搜索它。我到現在爲止做了什麼,我已經開始在login.php上進行會話,並使用$ _session ['abc'] =來自用戶名文本框 – dhruvan 2013-03-08 14:18:28

回答

0

如上所述,在您的login.php頁面設置會話,在成功登錄後,我們設置會話,以便腳本知道。

login.php

session_start(); 
.... 
$_SESSION['loggedin'] == TRUE; 

你應該寫檢查,如果用戶登錄的功能,爲簡單起見,避免重複自己在每一個文件。

userpanel.php

session_start(); 
requireLogin(); 

.. all the other stuff you want to do.. 

功能可以保持你在每個頁面包含一個普通的文件,並且可以簡單:

function requireLogin(){ 
    if($_SESSION['loggedin'] !== TRUE){ 
     header('Location: login.php'); 
    } 
} 

雖然你可以擴展它檢查其他級別的認證;如果用戶是管理員,登錄,主持人等

1

你需要開始一個頁面會話並設置一個變量(取決於DB或某種身份驗證:

session_start(); 
... 
// if authenticated, set this variable 
$_SESSION['loggedin'] = TRUE; 

然後在第二個頁面檢查,如果該變量存在:

session_start() 
if ($_SESSION['loggedin'] == TRUE) { 
    // Do stuff 
} else { 
    header("Location: http://example.com/login.php"); 
    exit(); 
} 
+0

thanx bro的輸入。我會試着讓你知道 – dhruvan 2013-03-08 14:21:26