我正在使用 PHP 开发一个门户,并且需要实现一个简单的 PHP 身份验证系统,该系统根据用户的凭据限制对某些页面的访问。
我有一个函数 CheckAuth() 需要一个参数(整数)。即,我的数据库有五个授权级别 1-5。如果我调用 CheckAuth(3) 如果用户的授权级别为 3 或更高,这将返回 true。我现在的代码如下:
if(!CheckAuth(3) {
die("Sorry, we were unable to deliver the requested content.");
}
这个解决方案的问题是它会破坏页面的布局,因为不会显示页面的页脚等其他元素。
有条件地仅显示页面的一部分的最佳方式是什么?
提前致谢!达里奥
function CheckAuth() {
require("config.php");
//User ain't been logged in?
if(!isset($_SESSION["login"])) {
return 0;
}
//Alright user is logged in, lets check the level...
//1 = User, 2 = OP (or Admin)
$query = "SELECT * FROM delegations WHERE id=" . $_SESSION["login"];
$results = mysqli_query($con, $query);
while($row = mysqli_fetch_array($results)) {
return $row["Level"];
}
}