php更改将管理员记录为用户并返回


php change logged admin as user and back

我有一个具有管理员和用户访问权限的php应用程序。我想做的就是这样;

当我以管理员身份登录时,我需要点击一个按钮并以用户身份登录,而无需从管理面板注销。在用户控制面板中,我希望能够点击例如"返回管理员"按钮并以管理员身份登录。我需要一直保持日志记录,只是为了在用户和管理控制面板之间切换。我的会话设置如下:

    Session::init();
        Session::set('role', $data['role']);
        Session::set('userid', $data['userid']);
        Session::set('language', $data['language']);
        Session::set('loggedIn', TRUE);
if ($data['role'] == "admin") {
          header('location: ' . URL . 'spadmincp');
        } elseif ($data['role'] == "owner") {
          header('location: ' . URL . 'dashboard');
        } elseif ($data['role'] == "default") {
          header('location: ' . URL . 'userservices');
        } elseif ($data['role'] == "reseller") {
          header('location: ' . URL . 'reseller');
        }
      } else {
        header('location:' . URL . 'login   ');
      }

我将感谢的任何帮助

感谢

你可以试试这个。在"管理面板"上,将链接放到用户面板。

例如。

<a href="Your user panel url">Go To User Panel</a>

在用户面板上。

检查它是否为管理员,并显示返回管理员按钮。

 if($_SESSION['role']=='admin')

echo"返回管理员";

也可以在用户面板中添加。在安全检查期间访问管理员或用户。

为什么不在会话中存储adminuserid,并在管理页面上使用,在非管理页面上则使用userid?

尝试在会话中放入last_role和last_userid变量,当管理员更改用户时保存他的角色/userid,给他新的角色/userid,当他切换回时清除最后一个,在他恢复自己的信誉后。