我是学生,我是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");
}
?>
答案 0 :(得分:4)
不要破坏会话,但只取消设置相应的密钥
unset($_SESSION['user'])
答案 1 :(得分:1)
如果您使用session_destroy()
,则会破坏会话Cookie ID。使用PHP unset()
函数销毁变量将是更好的方法,您不会丢失所有会话cookie。
答案 2 :(得分:1)
您不能在同一个浏览器中同时使用两个面板登录。并且你也不可能一次登录一个面板..当你不能在同一个浏览器中打开同一台电脑的两个面板时,这个问题会自动解决...