如何从MYSQL数据库分配的PHP会话数组中打印单个变量

时间:2019-05-02 20:59:21

标签: php mysql arrays session

PHP会话数组是从数据库创建的,只想打印到屏幕上一个变量。我正在使用此guide

该数组由创建:

$user = $libUsr->check($_POST['email'], $_POST['password']);
if ($user===false) { echo "ERR"; }
else {
$_SESSION['user'] = [
"name" => $user['user_name'],
"email" => $user['user_email'],
"status" => $user['user_status'],
"data" => $user['user_data']
];
echo "OK";
}
break;

登录后登录页面的标题位于下面,在2a-config.php中调用了start_session()

require __DIR__ . DIRECTORY_SEPARATOR . "lib" . DIRECTORY_SEPARATOR . "2a- 
config.php";
if (!is_array($_SESSION['user'])) {
header("Location: index.php");
die();
}

我尝试了所有这些组合(当然还有php标签):

echo $user["name"];
echo $user[1]["name"];
print_r(array_column($user, ‘name’));

甚至在我花了很多时间而变得绝望时,我发现没有其他答案在起作用,所以甚至尝试

echo $_SESSION["name"];
echo $_SESSION[1]["name"];

和先前问过thesequestions一样,但仍然无法正常工作,并且错误日志中也没有出现错误。

这是我var dump时的数组。

ARRAY(1) { ["USER"]=> ARRAY(4) { ["NAME"]=> STRING(4) "TEST" ["EMAIL"]=> 
STRING(13) "TEST@TEST.COM" ["STATUS"]=> STRING(1) "A" ["DATA"]=> 
STRING(32) "9529C449206201FDBCE28CFA42FD48C8" } }

我只想在屏幕上打印“ TEST”的数组变量“ NAME”。我希望然后我可以锻炼如何提取用户电子邮件以更新数据库。如您所见,我是Stack Overflow的第一次发布者,如果我的问题缺失,我深表歉意。谢谢。

1 个答案:

答案 0 :(得分:0)

怎么样:

echo $_SESSION["user"]["name"];