[英]Restricting access to webpage to administrators only
我有一個名為“ adminarea.php”的頁面,該頁面僅應由管理員訪問。 在我的用戶表數據庫中,我有一個名為“ userLevel”的列,該列的值為“ 1”或“ 0”,在這種情況下,“ 0”表示用戶是管理員。
現在,當用戶單擊指向“ adminarea.php”的鏈接時,下面的代碼存在。 我相信我可能遺漏了一些東西,這些東西應該使代碼可以訪問數據庫並分析包含有關試圖訪問頁面的用戶是否是管理員的信息的列。
<?php require "header.php";
if(check_login() && isAdmin()) {
} else {
header('Location: login.php');
exit;
}
function isAdmin() {
if (intval($_SESSION['sess_uid']['userLevel']) < 1) {
return true;
} else {
return false;
}
}
function check_login () {
if(isset($_SESSION['sess_uid']) && $_SESSION['sess_uid'] != '') {
return true;
} else {
false;
}
}
?>
第二只眼睛將不勝感激。
謝謝
您需要查詢數據庫。 如果您使用的是PDO,則可以執行此操作。
function isAdmin() {
$query = $conn->prepare("SELECT `userLevel` FROM `user` WHERE `id` = ?");
$query->bindValue(1, $_SESSION['sess_uid']);
try {
$query->execute();
} catch (PDOException $e) {
die($e->getMessage());
}
$userLevel = $query->fetchColumn();
return $userLevel == 1;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.