PHP登录表单会话变量销毁

时间:2017-03-28 14:17:20

标签: php web

我是PHP的新手,我正在创建一个带有会话变量的登录屏幕。我正在尝试在注销时销毁或取消设置会话变量,但它似乎无法正常工作。

我的会话变量:

$_SESSION['CurrentUser']

这是应结束会话的按钮:

<input type="submit" name="logout" id="logout" value="Log out">

按下按钮时:

if(isset($_POST['logout']))
{
    session_unset();  
    session_destroy(); 
}

2 个答案:

答案 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>

就是这样。