0

我正在使用 login.php 页面。当用户登录成功时,系统会将他们的用户名保存到会话中。如下代码:

if ($user != null) {
    $_SESSION['username'] = $user["username"];
    $_SESSION['userid'] = $user["id"];
    return 0;
}

然后页面将位于 main.php。Main.php 将读取会话,如下面的代码:

session_start();
if (isset($_SESSION['username']) == false || empty($_SESSION['username']))
{
    // transfer into login page
}
else
{
    echo $_SESSION['username'];
}

主页无法读取 $_SESSION['username'],值为 null。我现在该怎么办?

4

4 回答 4

2

您应该session_start()$user检查条件页面添加。

session_start();
if ($user != null)
{
    $_SESSION['username'] = $user["username"];
    $_SESSION['userid'] = $user["id"];
    return 0;
} 
于 2013-03-05T07:54:10.433 回答
1

session_start()使用 SESSION 变量时必须添加

session_start(); //at the beginning of file 

if ($user != null) {
    $_SESSION['username'] = $user['username'];
    $_SESSION['userid'] = $user['id'];
    return 0;
} 

进而

session_start();

if (isset($_SESSION['username'])) {
    // transfer into login page
}
else
{
    echo $_SESSION['username'];
}
于 2013-03-05T07:56:44.847 回答
1

如果您想使用会话变量。您必须在使用会话变量之前启动会话。

session_start();
if ($user != null) {
    $_SESSION['username'] = $user["username"];
    $_SESSION['userid'] = $user["id"];
    return 0;
}
于 2013-03-05T08:08:22.623 回答
0
session_start();
if (count($user)>0 and is_array($user)) {
    $_SESSION['username'] = $user["username"];
    $_SESSION['userid'] = $user["id"];

}
于 2013-03-06T06:29:23.997 回答