2010-01-29 69 views
0

使用mysql作爲數據庫。我從以前的答案對同一問題的代碼:如何檢查用戶是否在php中登錄。初學者

session_start()): 

    if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true) { 
    echo "Welcome to the member's area, " . $_SESSION['username'] . "!"; 
    } else { 
    echo "Please log in first to see this page."; 
    } 

能否請您解釋一下什麼是:$ _SESSION [「的loggedIn」]。 我可以在哪裏定義它?在的loggedIn,請大家幫忙

回答

0

您使用會話來存儲userdata以在所有加載頁面之間傳遞它。您可以使用$_SESSION['sessionname']變量將其定義爲其他人所說的。

我會後下如何讓人們登錄,因爲你想知道如何使用它的網站上的一個簡單的腳本:

session_start(); #session start alwas needs to come first 

//Lets make sure scriptkiddies stay out 
$username = mysql_real_escape_string($_POST['username']); 
$password = mysql_real_escape_string($_POST['password']); 

//Read the user from the database with there credentials 
$query = mysql_query("select id from user where username = $username and password = $password"); 

//Lets check if there is any match 
if(mysql_num_rows($query) > 0) 
{ 
    //if there is a match lets make the sessions to let the user login 
    $_SESSION['loggedin'] = true; 
    $_SESSION['username'] = $username; 
} 

這是一個簡單的腳本如何使用會話的登錄系統。還有很多其他方式可以使用會話

1

$ _SESSION是一個超全局數組(可在任何地方),用於存儲所有會話變量。

session_start(); // begins session 

$_SESSION['user_id'] = 99; 

因此,登錄變量在用戶登錄時設置爲true,然後將其存儲在會話中。會話基本上是保存在服務器上的信息。

0

登錄後:

$_SESSION['loggedin'] = true; 

就是這樣。

1

$_SESSION只是一個持久容器,您可以在同一會話期間存儲任何內容並將其檢索到其他請求中。因此,您必須在用戶已成功登錄的位置設置$_SESSION['loggedin']$_SESSION['username'].