Как сделать, что бы блок отображался только у определённых пользователей
Сразу скажу, что в php я новичок.
Как сделать, что бы через $_SESSION php брал из БД конкретный логин и проверял, через этот ли логин пользователь авторизован, если логин другой, то делал один блок на странице невидимым.
Вот приблизительный пример (моя попытка):
PHP
$login = $_GET['login'];
if (!$_SESSION[$login == 'realHikkan']); {
<<<HTML
<style>
.admin {
display: none;
}
</style>
HTML;
}
HTML
<div class="admin">
<a href="../admin"><button class="green">Панель администратора</button></a>
</div>
Структура БД:
Ответы (1 шт):
Предположим что у пользователя может быть только одна роль и информация про пользователей находится в таблице users. Тогда в users добавляете еще один столбец role. Предположим что есть всего две роли admin с полным доступом ко всем ресурсам сайта и guest имеет ограниченый доступ к ресурсам и может только видеть информацию но не редактировать ее.
Во время авторизации на сайте вы создаете сесию с указанием какую роль имеет пользователь. Например:
$user_info = [массив данных о пользователе полученый с базы];
session_start();
$_SESSION['access_role'] = $user_info['role']; // например 'admin'
Затем в шаблоне страницы проверяете имеет ли пользователь право видеть элемент или часть страницы. Например:
<div class="nav">
<?php
if( $_SESSION['access_role'] == 'admin'){ // проверяем или пользователь админ
echo '<a href="../admin"><button class="green">Панель администратора</button></a>';
}
else {
echo 'То что может видеть не зарегестрированый пользователь';
}
?>
</div>
Ето в общих чертах как реализовать то что вам нужно.
