
ЛР4_PHP
.pdfЛабораторная работа №4
Продолжаем реализовывать систему учета книг, базу данных для которой мы реализовывали в ЛР2.
Создание простой HTML страницы
1.Создайте новый проект. Создайте в нём страницу index.php
2.Создайте файл fullContent.php
3.Импортируйте его в index.php с помощью require.
4.Создайте файл styles.css
5.Реализуйте интерфейс страницы в файле fullContent.php. Дизайн возьмите на себя. Не забудьте импортировать в него стили из styles.css
6.Страница должна отвечать следующим требованиям:
7.Сверху должно быть меню с, как минимум, тремя ссылками – «Читатели», «Книги», «Личный кабинет».
8.На странице должен быть блок с приветственным текстом.
9.Внизу страницы должен быть футер, где должен быть указан текущий год и
контактные данные (выдумайте их).
Создание нескольких страниц сайта
10.Реализуйте страницы «Читатели», «Книги», страницу авторизации и личный кабинет.
11.Реализуйте по крайней мере 2 уровня доступа «Читатели» и «Администраторы».
12.Личный кабинет «Читателя» должен давать возможность просмотреть уже взятые книги, выводить предупреждение если срок для какой-либо книги подходит к концу, давать возможность его продлить.
13.Для «Администраторов» должна быть реализована возможность редактирования библиотеки, блокировки учетных записей пользователей, одобрения или отклонения запросов «Читателей» на продление срока. Дополнительный функционал приветствуется.
14.На всех страницах используются те же самые блоки меню и хедера.
15.На странице «Читатели» создайте таблицу, содержащую список читателей.
Столбцы должны включать в себя номер, имя и фамилию читателя.
Авторизированный «Администратор» должен видеть расширенную таблицу, с указанием взятых книг и должников. Если реализовано хранение персональных данных (дата рождения, например, для соблюдения возрастных рейтингов), доступ к ним должен иметь только администратор с особой категорией.
16. Введите средствами HTML несколько строк для демонстрации вёрстки (сделайте
«Рыбу»).
17.На странице «Книги» создайте таблицу, содержащую список книг. Столбцы должны включать в себя номер, название книги, год публикации, состояние (взята или нет), и если она взята, то фамилию текущего читателя и дату взятия.
18.Введите средствами HTML несколько строк для демонстрации вёрстки (сделайте
«Рыбу»).
Безопасность
19.Реализуйте хранение паролей и их верификацию в хэшированном виде.
20.Реализуйте возможность смены пароля на новый. В качестве дополнительного функционала можете реализовать форму «Забыл пароль» с запросом в адрес администраторов для сброса пароля и условной пересылки пользователю временного пароля (можно не реализовывать отправку пароля на e-mail, достаточно записать временный пароль в файл в качестве эмуляции его пересылки).
21.Если пользователи могут вносить в систему и сохранять свои персональные данные (дату рождения, контактные данные и т.д.), то эти данные должны храниться в БД в зашифрованном виде и дешифроваться только по факту применения для авторизованных лиц - самого пользователя, либо администратора
снужной категорией допуска.
22.Оптимизируйте свой код используя шаблонизацию, не допускайте дублирования.