这是我要执行的代码:
<?php
//To search three admin username and validate it.
$q = "SELECT * FROM login_admin";
$result = mysqli_query($mysqli,$q);
// Loop for retrieveing username form database.
while($row = mysqli_fetch_array($result)) {
$u_user = $row["username"];
echo $u_user;
// to check if the session's username is same as username in database.
if(($_SESSION['username']) != $u_user)
{
header('Location:logout.php');
}
}
?>
我只是想防止其他用户访问直接在地址栏中输入网页的网页。其他用户拥有自己的用户名和密码。但是管理页面还可以识别用户的会话变量。
答案 0 :(得分:0)
我个人会在登录时定义管理员设置。
赞:
$_SESSION['admin'] = true/false;
在您访问其中一个页面时,您可以阅读此会话并对其进行操作:
if( ! $_SESSION['admin']) // '!' means if $_SESSION['admin'] == false.
{
// redirect to some other page?
};
文档:
答案 1 :(得分:0)
在用户数据库中定义用户类型,例如:1:管理员,2,主持人,3:用户 并在数据库或配置文件中或直接在该php文件中定义页面权限,但首先要检查用户类型是否对此php文件具有访问权限。
示例;
/*
* user database table example
* user types: 1: Admin, 2: Moderator, 3: User
*/
$user = ["id" => 1, "name" => "Musa ATALAY", "email" => "email@example.com", "type" => 1];
# example.php
<?php
$pagePermissions = [1,2]; # only admins and moderators
if(!in_array($user["type"], $pagePermissions)){
exit("You dont have permissions to access this page!");
# or
header("Location: /403.html")
# or whatever you want to do in this condition
}
# page codes
?>
答案 2 :(得分:0)
阻止除user_level之外的其他用户访问该页面是admin
//编写查询以搜索活动用户级别 //然后检查用户级别是admin还是basic
if($ row ['user_level']!='admin'){ 回显“您不是访问此页面的授权用户”; }