$loggedin = false;
if ($_SESSION) { //user loggedin
$loggedin = true;
...//get token
}
...
if($loggedin){
echo 'Hi '.$user['name'];
}
else{
echo 'Please log in';
}
...
我想当我退出时,网页会显示“请登录”。但它在/ src / myproject / index 80行中显示“未定义的$ user变量”。刷新页面后,它会显示“请登录”。
这是什么问题?谢谢你的帮助。
答案 0 :(得分:2)
从我的伪代码可以看出,你在$ _SESSION变量中有一些关键字,表示用户已登录。
为了演示,让我们假设您执行类似的操作...在用户登录后,您分配$ _SESSION ['user'] =一组用户信息。其中一个关键是“名字”。
所以,你的代码看起来应该是这样的
$loggedin = false;
if (isset($_SESSION['user'])) {
$loggedin = true;
}
if ($loggedin) {
echo "Hi " . $_SESSION['user']['name'];
}
else {
echo "You are not logged in."
}
请注意,这只是您发布的代码示例的解决方案。为了做到这一点,我建议进行以下更改:
这将使您的代码在未来更具可扩展性,可重复使用且更易于遵循。
祝你好运。