![](/img/trans.png)
[英]Can't read PHP session array if “windows authentication” is enabled on IIS
[英]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.