如何退出单个帐户?

时间:2016-12-22 02:18:18

标签: php logout

我只是使用PHP实现登录和注销系统,并遇到登出问题。系统大纲如下:

  1. 当用户登录时,会话创建一个会话变量" user"和" stud"因为我正在为学生和管理员创建它。

  2. 设置会话后,用户将被重定向到home.php文件。

  3. 在该文件中,会放置一个注销按钮。当用户点击注销按钮会话时销毁,但它同时销毁了这两个帐户。我尝试登录帐户,学生和管理员,但是当我尝试注销管理员时,它会销毁这两个帐户。

  4. 任何人都可以帮我解决这个问题吗?

    这是我的admin logout编码:

      

    在session_start(); if(!isset($ _ SESSION [' user'])){header(" Location:   的index.php&#34); } else if(isset($ _ SESSION [' user'])!=""){     标题("位置:homeAdmin.php"); }
      if(isset($ _ GET [' adminLogout'])){session_destroy();     未设置($ _ SESSION ['用户']);标题("位置:index.php"); }

3 个答案:

答案 0 :(得分:0)

您已为$_SESSION['user'] and $_SESSION['stud']分别维护用户和管理员的会话 在注销过程中销毁相应的会话。意味着如果注销用户而不是仅销毁$_SESSION['user']

答案 1 :(得分:0)

if(isset($_GET['adminLogout'])) { session_destroy(); unset($_SESSION['user']); header("Location: index.php"); }

此处您正在使用参数admin logout并销毁用户会话。我假设您应首先检查设置了哪个会话并销毁该特定会话。也不要使用session destroy,只是unset将为你工作。 session_destroy会破坏所有会话,您可以在此处查看更多参考资料

http://php.net/manual/en/function.session-destroy.php

答案 2 :(得分:0)

谢谢你们,我得到了答案。我在这里分享问题的答案:

<?php
session_start();

if(!isset($_SESSION['user']))
{
    header("Location: index.php");
}
else if(isset($_SESSION['user'])!="")
{
    header("Location: homeAdmin.php");
}

if(isset($_GET['adminLogout']))
{
    unset($_SESSION['user']);
    header("Location: index.php");
}
?>

只需删除session_destroy()

即可