2 回答
TA贡献1829条经验 获得超13个赞
您需要保存用户权限类型,user_type例如 user、admin、super_user 等
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`username` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
`user_type` varchar(20) NOT NULL,
index(user_type)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
当他们登录时,您检查他们user_type并将其存储在会话中 $_SESSION['user_type'] = *their_user_type_from_the_db*
然后将他们重定向到正确的页面
$_SESSION['user_type'] = *their_user_type_from_the_db*
if($_SESSION['user_type']=='user'){
header('location: user.php');
}elseif($_SESSION['user_type']=='super_user'){
header('location: superuser.php');
}else{
header('location: home.php');
}
TA贡献1802条经验 获得超6个赞
这可以在数据库上轻松处理,并允许您控制用户类型,而无需使用检查常规登录会话之外的会话的特殊代码。
如果您有一个用户表,请在表中放置一列用于type. 在表中设置一个与他们的用户类型相对应的值。对于普通用户,将该值设置为 1,对于“超级用户”或“管理员”,将其设置为 2。当他们登录时查询数据库并检查他们的用户类型,以及是否将其设置为普通用户的值,只允许他们访问常规用户数据,如果设置为管理员,则允许他们访问管理部分。
在您获得用户登录的结果后,将执行以下查询:
$sql = "SELECT usertype FROM users WHERE username='$username'";
在将 $row 信息收集到数组中后,检查$row['usertype'].
if($row['userType'] === 2){
//Admin user permissions
//Set an admin session here
header('Location: admin.php');
exit();
}else{
//Regular user permissions
//Set an reg user session here
header('Location: loginHome.php');
exit();
}
- 2 回答
- 0 关注
- 169 浏览
添加回答
举报
