【发布时间】:2016-03-04 11:06:18
【问题描述】:
对于我的大部分网站,我可以很高兴地验证用户 ID 是否存在,以便向注册用户显示受限内容。但我想开发一个管理界面以便于管理,并且仅在满足两个(或更多)条件时才允许访问特定的一组页面。
我想到的两个条件是用户 ID(每个注册用户都有一个),但是我想验证该用户的角色并可以选择从我的 user_role 列中提取一个值桌子。目前有三种可能性;管理员、编辑和读者。
我不太清楚如何让查询触发检查,我现有的会话代码是;
// Here we check to see whether the user is logged in or not
if(empty($_SESSION['user']))
{
// If they are not, redirect them to the login page.
header("Location: login.php");
die("Redirecting to login.php");
}
如何添加额外的$_SESSION 变量来检查用户的角色?
【问题讨论】:
-
我不太明白你的问题。当您将某人登录到您的管理界面时,您可以在会话中添加 user_role。或者只是将 user_id 放入会话中并查询您的数据库以检查 user_role。这是你的问题吗?
-
是 - 当具有管理员角色的用户在 domain.com/admin/ 登录时,会检查表并登录。如果他们具有编辑器或阅读器等角色,他们将被重定向到域.com/login/ 因为他们没有管理员权限。
-
试试这个:
if(empty($_SESSION['user'])) { // If they are not, redirect them to the login page. header("Location: login.php"); die("Redirecting to login.php"); } else { /*query to check the user role*/ } -
@RaphaëlGonçalves 这是我遇到最大困难的问题。我熟悉 if 语句。
-
你需要共享你的表结构
标签: php sql session authentication