Ограничить страницы от пользователей, не являющихся администраторами (PHP и MySQL)

Я разрабатываю веб-сайт, который требует нескольких типов пользователей. Я смог перенаправить типы пользователей на разные почтения на основе пользовательского рулона / типа после входа в систему. Тем не менее, мне нужно ограничить административную часть сайта только типами роли администратора. Я сохраняю «1» или «2» в базе данных на основе типа / роли пользователя. Я использую «session_start» и «session_is_registered» для проверки информации пользователя. Что мне нужно добавить к этому коду, чтобы ограничить пользователей видом роли «1» от просмотра страницы.

session_start(); if(!session_is_registered(username)){ header('Location: ../admin/index.php'); } 

Related of "Ограничить страницы от пользователей, не являющихся администраторами (PHP и MySQL)"

Сохранять роль пользователя в переменной сеанса

 $_SESSION["role"]=1; 

или

 $_SESSION["role"]=2; 

в зависимости от сохраненной информации пользователя.

Затем, когда вы проверяете разрешения, вы просто проверяете эту переменную:

 if($_SESSION["role"]==2){ header('Location: ../admin/index.php'); } else { echo "you need the admin role to view this page!"; } 

Еще один совет: лучше проверить разрешения в ../admin/index.php и перенаправить на страницу по умолчанию, если у пользователя нет роли администратора. В противном случае пользователи могут напрямую просмотреть ../admin/index.php, если они знают URL.

Просто вставьте инструкцию if. Если они являются администратором, направьте их на страницу администратора, иначе отправьте их в другое место.