向用户显示他已注销
Showing the user that he has logged out
我想要这个:如果用户注销(会话销毁),那么索引应该说:您已注销。
if (isset($_SESSION['user']) && $_SESSION['user'] == true) {
echo "Welcome on the users page!, " . $_SESSION['username'] . "!";
}
elseif (!isset($_SESSION['user'])) {
echo "You logged out..";}
我遇到的问题是,即使您还没有登录就可以注销,它也显示您已注销。我只希望它显示用户是否注销。
另外我只想"You are logged out"出现一次。如果刷新页面,它应该消失了
那是因为以下条件:
!isset($_SESSION['user']
无论用户是否登录,都是如此。所以你必须创建一些其他会话变量来检查用户是否已注销。这仅在用户注销时设置。
例如:
if( !isset($_SESSION['user'] && isset($_SESSION['logged_out']))
{
// isset($_SESSION['user'] to check if user logged out and extra condition to check if user comes here after logged-out.
}
并在索引页上查看。
而不是使用php unset();销毁会话的函数,实际上可以在 $_SESSION["user"];
中保存布尔值 "false"
比如在你的登出页面:
不要销毁,而是将会话设置为 false
例如:
``
//登出时
$_SESSION["user"] = false;
//now to check if user logged out
if($_SESSION["user"] === false) {
echo "you logged out";
}elseif(!isset($_SESSION["user"])) {//when the session finally expires
echo " you haven't logged in";
}else{
echo "you are logged in";
}
//to get rid of it after page reload, you need to unset the SESSION
unset($_SESSION["user"]);
我想要这个:如果用户注销(会话销毁),那么索引应该说:您已注销。
if (isset($_SESSION['user']) && $_SESSION['user'] == true) {
echo "Welcome on the users page!, " . $_SESSION['username'] . "!";
}
elseif (!isset($_SESSION['user'])) {
echo "You logged out..";}
我遇到的问题是,即使您还没有登录就可以注销,它也显示您已注销。我只希望它显示用户是否注销。
另外我只想"You are logged out"出现一次。如果刷新页面,它应该消失了
那是因为以下条件:
!isset($_SESSION['user']
无论用户是否登录,都是如此。所以你必须创建一些其他会话变量来检查用户是否已注销。这仅在用户注销时设置。
例如:
if( !isset($_SESSION['user'] && isset($_SESSION['logged_out']))
{
// isset($_SESSION['user'] to check if user logged out and extra condition to check if user comes here after logged-out.
}
并在索引页上查看。
而不是使用php unset();销毁会话的函数,实际上可以在 $_SESSION["user"];
中保存布尔值 "false"比如在你的登出页面:
不要销毁,而是将会话设置为 false
例如:
`` //登出时 $_SESSION["user"] = false;
//now to check if user logged out
if($_SESSION["user"] === false) {
echo "you logged out";
}elseif(!isset($_SESSION["user"])) {//when the session finally expires
echo " you haven't logged in";
}else{
echo "you are logged in";
}
//to get rid of it after page reload, you need to unset the SESSION
unset($_SESSION["user"]);