在我的logout.php页面中销毁后,为什么会话没有被破坏?

时间:2015-06-02 21:37:24

标签: php session

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

登出后,一切正常,但如果我点击管理员按钮上的次数超过2-3次(只有在$ _session [' user1']和$ _session [&# 39;传递'] r正确)我进入admin.php页面(在我销毁会话oO之后);

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

<?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();
?>

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

根据documentation

  

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

如果您想真正破坏会话,则必须自行取消设置会话cookie。