Пытаюсь разобраться как сделать простенькую админку на php. Кое-как собрал регистрацию и логин чтобы писала и сверяла с базой. Но совсем запутался с тем как правильно сделать логику сессионной переменной для скажем пользователей с разными привилегиями.
Буду благодарен за простой пример реализации логики. В инете не могу найти ничего толкового по этой теме.
Ну так чтоб пример был на старом чистом php без ооп и фреймворков. Цель - разобраться как работает.
Вам правильно написали в комментариях, дополню лишь небольшими примерами. Вот так может выглядеть таблица с привилегиями (или ролями):
user_id | privilege
1 | 1
134 | 7
То есть юзер с id=1 имеет высшим уровнем доступа, так как мы решили, что чем меньше число, тем круче будет юзер.
Или так, если использовать названия действий:
user_id | role
1 | show_news
1 | edit_news
1 | remove_news
134 | show_news
Мы даём юзеру с id=1 права на просмотр, редактирование и удаление новостей, а юзеру id=134 только на просмотр.
Далее, у вас появится функция на получения ID юзера, который делает запрос к серверу:
function getUserId() {
//тут всё зависит от того, что именно вы будете хранить в $_SESSION по юзеру
//если сразу ID, то будет так
return $_SESSION['user'];
}
У вас появится функция проверки роли или привилегии пользователя, что-то вроде этого:
//$role - число, обозначающее уровень доступа (от 1 до 10, например)
//или название действия ("show_news", "edit_news", "remove_news" например)
function canUserDoIt($role) {
$user_id = getUserId();
//Запрос к бд, который достаёт нужную инфу из таблицы с привилегиями
"SELECT id FROM наша_таблица WHERE $user_id = user_id AND $role = role"
if (такая запись есть) {
return true;
}
return false;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Реализовал бота, который каждые 5 минут парсит один сайт с объявлениями и оповещает пользователей по категориям (0-5 оповещений за один раз)
Как бы вы упростили эту функцию? Функции передается массив items, получаемый с сервера (сугубо для вставки текста на кириллице, кириллицу внутри...
Вечер добрый, помогите пожалуйста сократить/улучшить javascript код