无法注销/销毁会话

时间:2014-06-21 12:07:55

标签: php session logout

我无法在我做的一个小测试方面破坏我的会话。

我可以从我的code_login.php文件和header()登录到我需要登录的其他页面。但是当我退出时,即使我退出了,有时也可以回到那个页面。

(session_start()位于我所有页面的顶部)

这是我的登录代码:

$res = $db->query($sql);
$num = $res->num_rows;

if ($num == 1) {
    $_SESSION['user'] = array(
        'username' => $username;
    );
}

这是注销:

session_start();
$_SESSION = array();
session_destroy();
header('LOCATION: index.php?loggedOut');

这是我需要登录的页面顶部

session_start();
if (isset($_SESSION['user'])) {
    require some stuff;
} else {
    header('LOCATION: index.php?loginNeeded');
}

但有时我仍然可以在登录后返回登录页面。

2 个答案:

答案 0 :(得分:0)

<强>在session_start();

将插入您设置或取消设置会话的每个页面以及阅读会话

数据

答案 1 :(得分:0)

在登录代码页顶部添加session_start();

session_start();
$res = $db->query($sql);
$num = $res->num_rows;

if ($num == 1) {
    $_SESSION['user'] = array(
        'username' => $username;
    );
}