我开发了一个 PHP 登录/注册脚本,当用户登录时,它会启动一个会话并创建一个 cookie,然后使用以下内容将用户重定向到 dashboard.php:
$_SESSION['email'] = $emailAddress;
if($remember == 'on') { // if "keep user logged in" was ticked
setcookie("email",$emailAddress,time()+7200); // keep user logged in for 2 hours
}
header("location: dashboard.php");
在我所有受限页面的顶部(例如 dashboard.php)我有:
if(logged_in()) { // if user logged in, show page
logged_in() 函数是:
function logged_in(){
if(isset($_SESSION['email']) || isset($_COOKIE['email'])) {
return true;
} else {
return false;
}
}
在数据库中,我有一个标题为
usrUserTypeNo
的列,管理员是“1”,普通用户是“3”。
我如何将这种访问级别合并到 logged_in 函数中,以便用户可以看到内容,或者根据他们拥有的号码重定向到其他地方?
我还没有尝试过任何可能的解决方案,但是我想知道是否有更简单的方法将其合并到实际的 logged_in() 函数中,而不是在任何内容之前进行 SELECT * 查询,然后添加条件是否
usrUserTypeNo
是 1 或 3.
我想知道是否有更简单的方法将其合并到实际的 logged_in() 函数中,而不是在任何内容之前进行 SELECT * 查询,然后为 usrUserTypeNo 是 1 还是 3 添加条件。
不是真的。
如果您想做三种不同的事情之一(未登录操作、正常用户操作、管理员用户操作),那么您必须测试这些状态并为每个状态编写逻辑。
您可以将访问级别存储在会话中,而不是每次都从数据库中请求它。