簡體   English   中英

PHP無法讀取會話值

[英]php can't read session value

我正在使用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。 我現在應該怎么辦?

您應該在$user檢查條件頁面上添加session_start()

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

使用SESSION變量時必須添加session_start()

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'];
}

如果要用戶會話變量。 您必須在使用會話變量之前啟動會話。

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

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM