注销时取消设置会话问题

时间:2013-10-30 11:22:12

标签: php html mysql session session-variables

我创建了一个有前端和后端面板的网站。在两个面板上,我都创建了登录区域,用户登录的前端和管理员登录的后端,可以管理前端用户的所有活动。我还有两个不同的登录表,用户的登录详细信息和管理员的登录详细信息。 当我在两个不同的选项卡中同时登录两个面板时,它正常工作。在这种情况下,会创建两个不同的会话$ _SESSION ['adminName']和$ _SESSION ['userName'],并且两者都在访问其分配的数据。 但是当我从面板的任何人注销时会产生问题。当我从前端注销时,后端管理员会通过销毁所有网站会话自动注销。但是我有两个不同的注销功能,就像两个用于登录的登录功能一样。

用户的注销功能包含以下代码。

   session_start();
   unset($_SESSION);
   session_destroy();
    echo '<script>
         window.location.href = "'.$site_path.'";
        </script>';     

以及我希望注销功能仅适用于他们的面板。他们不会破坏其他小组的会议。

任何人都知道如何解决这个问题以及我做错了什么。感谢。

2 个答案:

答案 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)

只要两个面板都需要单独使用每个会话变量,就应该没问题。