我创建了一个有前端和后端面板的网站。在两个面板上,我都创建了登录区域,用户登录的前端和管理员登录的后端,可以管理前端用户的所有活动。我还有两个不同的登录表,用户的登录详细信息和管理员的登录详细信息。 当我在两个不同的选项卡中同时登录两个面板时,它正常工作。在这种情况下,会创建两个不同的会话$ _SESSION ['adminName']和$ _SESSION ['userName'],并且两者都在访问其分配的数据。 但是当我从面板的任何人注销时会产生问题。当我从前端注销时,后端管理员会通过销毁所有网站会话自动注销。但是我有两个不同的注销功能,就像两个用于登录的登录功能一样。
用户的注销功能包含以下代码。
session_start();
unset($_SESSION);
session_destroy();
echo '<script>
window.location.href = "'.$site_path.'";
</script>';
以及我希望注销功能仅适用于他们的面板。他们不会破坏其他小组的会议。
任何人都知道如何解决这个问题以及我做错了什么。感谢。
答案 0 :(得分:0)
不建议以这种方式取消设置会话变量。
使用session_unset(),参见http://php.net/manual/en/function.session-unset.php
除此之外,您不希望会话仍然存在于用户计算机上,为此使用session_destroy()。
session_unset()只清除会话以供使用。
答案 1 :(得分:0)
如果您删除了session_destroy()
并使取消设置更具体,请说明unset($_SESSION['userName'])
从主站点退出,并unset($_SESSION['adminName'])
当您要将其从管理面板中注销时。绝对不建议使用unset($_SESSION)
。
只要两个面板都需要单独使用每个会话变量,就应该没问题。