PHP登录页面,根据用户访问级别重定向到不同的页面


PHP login page with redirection to different pages based on user access level

如何将多个会话变量发送到页面?

例如,我有一个login.php页面,它验证用户的电子邮件和密码以及存储在数据库中的访问级别(admin, teacher, student),并相应地授予访问student.php, admin.php, faculty.php

在student.php, admin.php和faculty.php页面上,我设置了会话块,检查从先前页面接收的用户级别,并相应地允许或拒绝访问。

到目前为止,这工作得很好,但是现在我想为每个用户创建特定的页面,我需要检查用户级别(admin, user, faculty>已经被检查)+他们的特定用户id或电子邮件,使用它我可以生成特定的内容迎合他们..

所以回到我的问题,是否有办法发送多个变量到一个页面?

或者更重要的是,如果我没有在正确的轨道上思考,有没有更好的方法来做到这一点?

许多谢谢,

是。简单地将$_SESSION声明为数组。

$_SESSION["uid"] //User ID (mail whatever)
$_SESSION["access"] //Admin, student, teacher etc.

手动引用

使用会话是创建用户特定页面的最佳方式吗?

会话(最好使用安全cookie)只适用于重新识别请求用户。

永远不要把角色交给客户端。在交付页面或执行请求之前,应用程序应该始终检查用户的角色。您应该严格避免将值传递给客户端,这些值可以被操纵以获得更高的权限,或者让用户看到或操纵另一个用户的数据。