会话未正确结束

时间:2013-05-15 14:58:35

标签: php session logging login logout

我为我的网站创建了一个简单的登录系统,因为我想限制对某些页面的访问。用户可以正常登录,但是我遇到了日志记录用户的问题。我正在使用$_SESSION['username']来存储用户名。

当我将用户注销时,它似乎会注销用户并显示登录屏幕,但是当我转到其中一个受限页面时,会话仍处于活动状态。当我尝试使用其他用户登录时,登录页面显示已登录其他用户,但受限制的页面仍显示旧用户已登录。

这是我的退出页面

<?php
session_start();
unset($_SESSION['username']);
session_destroy();
header('Location: sign_up.php');
?>

检查用户是否已登录登录页面。

<?php
session_start();

if (isset($_SESSION['username'])) {
    include "logged_in_bar.php";
    //if session is equal to 1, display logged in bar
} else {
    include "login_bar.php";
    //if seesion is not equal to 1, display log in bar
}
?>

我使用的其他页面

if (isset($_SESSION['username'])) {
    execute this
} else {
    header ('Location: sign_up.php');
}

我的所有页面顶部都有session_start();

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

session_start();

$_SESSION = array();

if (ini_get('session.use_cookies')) {
  setcookie(session_name(), '', time() - 42000);
}

session_destroy();