我是PHP的新手,我正在创建一个带有会话变量的登录屏幕。我正在尝试在注销时销毁或取消设置会话变量,但它似乎无法正常工作。
我的会话变量:
$_SESSION['CurrentUser']
这是应结束会话的按钮:
<input type="submit" name="logout" id="logout" value="Log out">
按下按钮时:
if(isset($_POST['logout']))
{
session_unset();
session_destroy();
}
答案 0 :(得分:1)
我的好习惯是将会话变量设置为随机的:
$_SESSION['CurrentUser'] = time();
session_destroy();
然后重新加载/刷新页面。例如:
header('Location: /');
die;
如果您在会话销毁后没有重定向,该页面将呈现,好像会话未被销毁(html将呈现...)
答案 1 :(得分:0)
我尝试了[GET]的方法,它有效!
我不确定[POST]的方法是否正常,因为我的PhpStorm可能不正常,所以我想尝试使用IIS,但此时fastCGI无法正常工作。
所以你可以使用[GET]方法解决问题,就像这样:
<form method="get" action="xxxx.php">
<input type="submit" name="logout" value="Log out">
</form>
就是这样。