为什么会话不销毁,之后我销毁它在我的logout.php页面


Why session is not destroyed, after i destroy it in my logout.php page?

我已经在文件中启动了会话(session_start()),该文件包含在所有页面中。我的logout.php链接在这个文件中,稍后我会发布包含文件的代码,以及我的logout.php页面的代码。

退出后,一切正常,但如果我点击超过2-3次在我的管理按钮(这应该是活跃的,只有当$_session['user1']和$_session['pass']是正确的),我继续到admin.php页面(在我销毁会话o.O);

所有页面包含的文件的一部分:

<?php
session_start();
    if ((!isset($_SESSION['user1']))&&(!isset($_SESSION['pass1'])))  {
            echo "<li><a href='login.php'>Admin</a></li>";
    } 
    else {
            echo "<li><a href='Admin.php'>Admin</a></li>";
    };
?>

注销页面:

<?php
session_start();
unset ($_SESSION['user1'],$k);
unset ($_SESSION['pass'],$p);
session_destroy();
header('Location:Naslovna.php');
exit();
?>

根据文档:

session_destroy()销毁与当前会话相关的所有数据。它不会取消与会话关联的任何全局变量的设置,也不会取消会话cookie的设置。要再次使用会话变量,必须调用session_start()。

如果你真的想销毁会话,你必须自己取消会话cookie的设置。

我最近遇到了这个问题,用这个来解决它:

unset($user1,$pass);
session_unset();
session_destroy();
header('Location: ../index.php');