0

我为我的网站创建了一个简单的登录系统,因为我想限制对某些页面的访问。用户可以正常登录,但是我在注销用户时遇到问题。我$_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();在我所有页面的顶部。

任何帮助将非常感激。

4

1 回答 1

0
session_start();

$_SESSION = array();

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

session_destroy();
于 2013-05-15T15:22:41.887 回答