$_SESSION 不持有数组

我使用$_SESSION来存储登录用户的名称,但它不存储它。我做了一个echo var_dump($_SESSION);,它说array(0) {}。为什么$_SESSION不持有这个名字?


它在localhost 上,我已经放在session_start();每个.php文件的顶部。


登录.inc.php

if($row = mysqli_fetch_assoc($result)){

//dehash pass

$hashpwdcheck = password_verify($pwd, $row['password']);

if($hashpwdcheck == false){

header("Location: ../index.php?Login=passwordError".$row);

exit();

}elseif($hashpwdcheck==true){

//login

$_SESSION['id'] = $row["userId"];

$_SESSION['name'] = $row['name'];

$_SESSION['pos'] = $row['position'];

header("Location: ../home.php?Login=Success");

exit();

}

}

头文件

<?php

if (isset($_SESSION['name'])){

echo $_SESSION['name'];} else { echo  var_dump($_SESSION); }

?>

我得到的结果是 array(0){}


慕桂英4014372
浏览 203回答 1
1回答

慕娘9325324

在为会话变量赋值之前在页面顶部启动会话。你可以使用session_start()函数来做到这一点。
打开App,查看更多内容
随时随地看视频慕课网APP