在SESSION not working.PHP中保存用户信息

在SESSION not working.PHP中保存用户信息,php,mysql,session,Php,Mysql,Session,所以我正在将用户数据保存到会话中。我已经设置了第一个用户名和memberID,看起来工作正常。但一旦我添加了更多细节来保存会话,我就不会在其他页面中阅读它们了。会话在数据库连接中启动。我不知道问题出在哪里,希望你们能帮助我。谢谢 if (password_verify($password, $row['password'])) { $_SESSION['loggedin'] = true; $_SESSION['username'] = $row['username']; $_SESSION[

所以我正在将用户数据保存到会话中。我已经设置了第一个用户名和memberID,看起来工作正常。但一旦我添加了更多细节来保存会话,我就不会在其他页面中阅读它们了。会话在数据库连接中启动。我不知道问题出在哪里,希望你们能帮助我。谢谢

if (password_verify($password, $row['password'])) {

$_SESSION['loggedin'] = true;
$_SESSION['username'] = $row['username'];
$_SESSION['memberID'] = $row['memberID'];
$_SESSION['email'] = $row['email'];
$_SESSION['avatar'] = $row['avatar'];
$_SESSION['loggedin_time'] = time(); 

return true;
}
我正在php页面中添加的代码:

<?php echo htmlspecialchars($_SESSION['email'], ENT_QUOTES); ?>

固定的


我的声明只有选择memberID和用户名

请始终记住使用
会话启动()
,以设置或使用它。请记住在.PHP文件的顶部执行此操作

第一个php页面

session_start();
如果(密码验证($password,$row['password'])){
$\u会话['loggedin']=true;
$\会话['username']=$row['username'];
$\会话['memberID']=$row['memberID'];
$\会话['email']=$row['email'];
$\会话['avatar']=$row['avatar'];
$\会话['loggedin\u time']=time();
返回true;
}
另一个php页面

session_start();
...

注意:如果不是这种情况,您应该尝试对这两个变量执行
var\u dump()
,并查看其中是否存储了任何信息。

始终记得使用
会话启动()
,以设置或使用它。请记住在.PHP文件的顶部执行此操作

第一个php页面

session_start();
如果(密码验证($password,$row['password'])){
$\u会话['loggedin']=true;
$\会话['username']=$row['username'];
$\会话['memberID']=$row['memberID'];
$\会话['email']=$row['email'];
$\会话['avatar']=$row['avatar'];
$\会话['loggedin\u time']=time();
返回true;
}
另一个php页面

session_start();
...
注意:如果不是这种情况,您应该尝试对这两个变量执行
var\u dump()
,并查看其中是否存储了任何信息。

已修复

问题是我的PDO中只有一条语句可以选择memberID和用户名

固定


问题是我的PDO中只有一条语句可以选择memberID和用户名

您是否在页面的第一行使用了
session_start()?我的会话在连接到数据库时开始,我已经提到可以读取memberID和用户名,但其他信息不可以。然后
打印($row)
,查看它是否包含电子邮件或化身信息。
打印($u会话['email']
在页面第一行
会话开始时使用的化身ID上显示了相同的1();
?当我连接到数据库时,我的会话开始,我提到可以读取memberID和用户名,但不能读取其他信息。然后
打印($row)
,查看它是否包含电子邮件或化身信息。
打印($会话['email']
在我连接到数据库时在avatarMy会话开始时显示1相同。我忘了将其添加到描述中。尝试在
$\u会话['email']上的数组
var\u dump
上执行var\u dump()
显示空值
var\u dump($row)的功能
output?问题已修复。我对MySQL的语句仅读取memberID和用户名。我的会话在连接到数据库时启动。我忘记将其添加到description中。请尝试在
$\u会话['email']上的数组
var\u dump
上执行var\u dump()
显示空值
var\u dump($row)
output?问题已得到修复。我对MySQL的语句仅读取memberID和用户名。