Всем привет!
Я разрабатываю учебный проект "Сайт Учебное Расписание".
При авторизации стартует сессия и заполняется массив $_SESSION логином и рангом. Где ранг: новичок (это не газ), админ, директор, преподаватель, студент.
Вопрос в том, как сделать, чтобы определённые кнопки сайты были видимы и доступны только тому, кому положено по рангу. Например, чтобы если пользователь сайта в ранге студент, то он не мог редактировать расписание, добавлять, удалять преподавателей и т. д. А только мог открыть и посмотреть расписание, только видно кнопку расписание?
Я выставляю у кнопки "style display: none". Она перестаёт отображаться. Затем надо чтобы программа проверила в массиве $_SESSION значение от ключа rank и если там стоит админ или директор, то разрешить им все кнопки на сайте, если новичок, то ни одной кнопки на сайте, если студент, то одну кнопку - расписание.
Как это сделать?
Спасибо за ответы!
PHP
PHP, Script, HTML Отображение частей страницы только тем, у кого высокий ранг
очевидно нужно дописать код в программу в то место где выводятся кнопки который проверяет ранг и выводит нужные кнопки. какой код? да любым способом проверить значение ранга и выводить илии не выводить. например, чайники обычно пишут туеву хучу ифов, мидлы пишут ин_аррай а профи используют какую нить стороннюю либу для меннджемента ролей пользователей, к примеру RBAC
Владислав Очиридняк
Правильно?

ни в коем случае не скрывать это с помощью css! это надо делать с помощью условий, если ранг соответствует, то обратиться к функции, которая покажет нужную информацию
При регистрации вероятно задается роль пользователю, все данные записываются в бд. При авторизации пользователя его данные извлекаются, где так же его роль.
При выводе на страницу каких либо сведений проверяешь роль пользователя. Если роль пользователя соответствует, то выводим. И без сессий, сессии нужны только для текущей работы в браузере.
При выводе на страницу каких либо сведений проверяешь роль пользователя. Если роль пользователя соответствует, то выводим. И без сессий, сессии нужны только для текущей работы в браузере.
я не знаю движка и как вы выводите, но
$admin = array('директор', 'admin'); //типа админы
$stud = array('студент'); // студенты
и в форме :
if (in_array($_SESSION['runk'], $admin)) {
// выводим кнопки
}
так же для студента и .тд. (можно с помощью case или вообще написать класс и метод проверки доступа, если проект большой);
p.s. "style display: none" не самое безопасное решение, поскольку в браузере дебагером можно его убрать.
и в обработке формы на всяк тоже проверять доступы
$admin = array('директор', 'admin'); //типа админы
$stud = array('студент'); // студенты
и в форме :
if (in_array($_SESSION['runk'], $admin)) {
// выводим кнопки
}
так же для студента и .тд. (можно с помощью case или вообще написать класс и метод проверки доступа, если проект большой);
p.s. "style display: none" не самое безопасное решение, поскольку в браузере дебагером можно его убрать.
и в обработке формы на всяк тоже проверять доступы
Похожие вопросы
- Web- программирование. Php (JS, HTML, CSS)
- Как спарсить страницы с помощью PHP (адрес страниц тот же, но содержимое разное в зависимости от введённого логина)?
- Как заменить html код с помощью php файла.
- Нужно ли знать HTML, чтобы учить PHP ?
- HTML и PHP как перенести html на php
- php. перенаправить на другую страницу
- Чтобы изучение PHP обязательно ли знать HTML просто я не знаю html но я хочу изучить PHP
- В чём приемущество создания вёрстки на php в сравнении с вёрсткой html?
- Если нужно создать сайт с использованием php,то index страница должна быть написана на php?
- Можно ли сделать браузернаю игру зная только HTML, CSS, PHP, MySQL(без JS), ненавижу язык JS