这是我的建议,
与其为您的用户使用四个表,不如使用一个。
您可以像这样创建基本用户表(将排名更改为适合您的站点/脚本):
ID username password email bla bla bla rank
因此,您可以让 PHP 脚本检查用户是否具有所需的访问级别,而不是使用四个表。
这是一个保护页面免受访问级别较低的用户访问的简单功能:
function required_level($level){
$user_level = mysql_return(mysql_query("SELECT $rank FROM `Accounts` WHERE `user_id` = $user_id"));
if($user_level<$level){
header("Location:index.php");
}
}
然后在每个页面上,您要防止较低级别的用户访问它。您只需拨打电话required_level(4);
,该页面将只允许具有此级别或更高级别的用户访问该页面。
例子:
- Bob 是一名员工,因此他的用户等级为 1,
- Joe 是超级管理员,因此他的用户等级为 4
两个用户都正常登录,并且都尝试访问admin.php
.
admin.php 以 required_level(4) 开头;所以 Bob 将被重定向到主页(您也可以传递一个错误)但是,Joe 将无法访问此页面,因为他的排名与访问此页面所需的排名相同或更高。
So, here's my super long explanation on what you can do! I hope this helps and gives you some ideas on how to make your user tables better and easier to create protect pages :)