2010-01-29 52 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'].