在$_SESSION中存储用户详细信息时遇到问题


Trouble storing user details in to $_SESSION

几天来我一直绞尽脑汁,试图将从数据库查询中获取的用户详细信息存储到$_SESSION变量中。

我把它放在次要位置,而我完成了建立网站的另一部分,并使用我输入的虚拟数据来测试它。

代码可以很好地处理虚拟数据,但是当我试图在其中实现查询结果时却无法运行。我试着按照别人的方式设置,但我的就是不起作用。

下面是我用虚拟数据工作的脚本:

$query = "SELECT * FROM members WHERE Email='$Email' AND Activation IS NULL";
$result = $dbc->query($query);
$password_match = 0;
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $password_match = password_verify($Password, $row["Password"]);
        }
        if ($password_match) {
            $_SESSION["Username"] = "Members username"; 
            header("Location: page.php");
        }
        else {
            $msg_error= 'Either Your Account is inactive or Email address /Password is Incorrect';
        }
}

这里的虚拟数据是"Members username",我希望它能够存储作为从列"username"查询的一部分检索到的值。

我试过很多方法,最近用的是这个:

$_SESSION["Username"] = $row["Username"];

但是没有成功。

任何提示非常感谢!

试试这个…你没有从循环内获取行,

$query = "SELECT * FROM members WHERE Email='$Email' AND Activation IS NULL";
$result = $dbc->query($query);
$password_match = 0;
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $password_match = password_verify($Password, $row["Password"]);
        if ($password_match) {
            $_SESSION["Username"] = "Members username"; 
            header("Location: page.php");
        }
        else {
            $msg_error= 'Either Your Account is inactive or Email address /Password is Incorrect';
        }
}}