如何在两个面板中避免“会话中断”

时间:2012-05-09 18:56:24

标签: php

我是学生,我是php的新手

我正在处理我的项目

我的网站上有两个面板(localhost) 一个是用户 另一个是管理员

在两个面板中我都在所有页面上创建了会话

用户面板上的

session_start();
if(!isset($_SESSION['user']))
   header("Location: index.php");
管理员面板上的

session_start();
if(!isset($_SESSION['username']))
{
   header("Location: login.php?e=please+login+first");
}

现在我打开了两个面板 问题是,如果我从一个面板注销,那么其他面板也会注销。

例如,如果我以用户身份在用户面板中注销,那么当我刷新管理页面时,我的管理面板会话会自动将页面重定向到login.php

有什么方法可以避免这种情况或如何避免这种情况..请帮助我。我会感恩的

here is my logout code

for admin side

<?php
session_start(); 
session_destroy();
header("Location: login.php?e=Logout+successfully");
?>

for user side
<?php
session_start();
session_destroy();
header("Location: index.php?l=Logout+successfully");
}
?>

3 个答案:

答案 0 :(得分:4)

不要破坏会话,但只取消设置相应的密钥

unset($_SESSION['user'])

答案 1 :(得分:1)

如果您使用session_destroy(),则会破坏会话Cookie ID。使用PHP unset()函数销毁变量将是更好的方法,您不会丢失所有会话cookie。

答案 2 :(得分:1)

您不能在同一个浏览器中同时使用两个面板登录。并且你也不可能一次登录一个面板..当你不能在同一个浏览器中打开同一台电脑的两个面板时,这个问题会自动解决...