- •1 Постановка задачи
- •2 Выбор методов и технологий
- •Файловая структура модулей и их функционал
- •Register.Php – модуль регистрации. Файл реализует обработку данных, вводимых пользователем при регистрации.
- •Login.Php – модуль авторизации. Модуль обеспечивает вход зарегистрированных пользователей в систему.
- •Profile.Php – страница профиля. Файл profile.Php отображает персональную страницу пользователя после успешного входа.
- •Logout.Php – модуль выхода из системы. Файл отвечает за завершение пользовательской сессии.
- •Style.Css – таблица стилей. Файл assets/style.Css содержит описания внешнего вида всех элементов интерфейса: карточек, кнопок, форм и полей ввода.
- •Заключение
Register.Php – модуль регистрации. Файл реализует обработку данных, вводимых пользователем при регистрации.
Форма содержит поля: ФИО, e-mail, логин и пароль.
После заполнения и отправки формы скрипт проверяет корректность введённых данных, уникальность логина и адреса электронной почты, а затем записывает новую запись в таблицу users.
Пароль сохраняется в зашифрованном виде с использованием функции password_hash().
При успешной регистрации пользователю выводится сообщение об успешном создании аккаунта.
db.php – модуль подключения к базе данных.
Файл отвечает за установление соединения с СУБД PostgreSQL. В нём задаются параметры подключения.
Модуль подключается во всех файлах, которым требуется доступ к данным.
Login.Php – модуль авторизации. Модуль обеспечивает вход зарегистрированных пользователей в систему.
После ввода логина и пароля производится запрос в таблицу users. Если пользователь найден и пароль совпадает (проверяется функцией password_verify()), создаётся сессия PHP, и пользователю предоставляется доступ к странице профиля. В случае ошибки выводится уведомление «Неверный логин или пароль».
Функция session_start() используется для сохранения данных авторизованного пользователя на протяжении всей работы с системой.
Profile.Php – страница профиля. Файл profile.Php отображает персональную страницу пользователя после успешного входа.
На странице выводится приветственное сообщение, имя пользователя и пример визуального блока «Прогресс изучения».
Также предоставляется возможность выхода из системы.
Если пользователь пытается открыть страницу профиля без авторизации, система автоматически перенаправляет его на страницу входа (login.php).
Logout.Php – модуль выхода из системы. Файл отвечает за завершение пользовательской сессии.
Нажатие на кнопку «Выйти» полностью удаляет данные о сессии и возвращает пользователя на страницу авторизации.
ui.php – общий интерфейсный шаблон или же вспомогательный файл, содержащий функции ui_header() и ui_footer(), которые формируют единое оформление шапки и подвала сайта. В нём подключаются стили и формируется навигация (кнопки «Вход», «Регистрация»).
catalog.php – модуль каталога курсов.
Файл реализует отображение списка доступных курсов платформы. Скрипт формирует SQL-запрос к таблице products, получает перечень курсов и выводит их в виде карточек с единой стилизацией.
product.php – модуль карточки курса.
Модуль отвечает за вывод подробной информации по одному выбранному курсу.
Идентификатор курса передаётся через параметр id в адресной строке. Скрипт проверяет корректность параметра, выполняет подготовленный запрос к таблице products и получает полное описание курса, цену и путь к изображению обложки.
Внизу карточки размещена кнопка «Начать обучение», которая перенаправляет неавторизованного пользователя на страницу входа (login.php).
moder_panel.php – модуль личного кабинета модератора.
Файл реализует административный интерфейс для пользователя с ролью moderator.
В начале выполняется проверка: если пользователь не авторизован или его роль отличается от moderator, он перенаправляется на страницу входа. После проверки модуль выбирает из таблицы products список всех курсов и выводит их в виде таблицы с колонками: ID, название, цена и действия.
Для модератора доступны:
просмотр всех существующих курсов;
переход к форме создания нового курса;
удаление курса по ссылке «Удалить».
product_create.php – модуль создания нового курса.
Файл реализует форму добавления нового курса и обработку введённых данных.
product_delete.php – модуль удаления курса.
Модуль принимает идентификатор курса через параметр id и предназначен для удаления записи из таблицы products.
В начале работы выполняется проверка роли пользователя: только модератор может вызывать данное действие.
После проверки формируется подготовленный DELETE-запрос к базе данных. В случае успешного удаления модуль перенаправляет пользователя обратно в moder_panel.php.
cart_add.php – модуль добавления товара в корзину. Модуль обрабатывает отправку формы из каталога или карточки товара.
Принимает product_id.
Если пользователь не авторизован – перенаправляет на login.php.
Если пользователь авторизован – записывает товар в таблицу cart
cart.php – модуль корзины. Отображает содержимое корзины авторизованного пользователя:
список выбранных курсов,
суммарную стоимость,
кнопку «Удалить»,
кнопку «Сформировать заказ».
cart_remove.php – модуль удаления товара из корзины. Удаляет запись из таблицы cart.
order_create.php – модуль формирования заказа. Создаёт новый заказ на основе содержимого корзины.
Последовательность работы:
Проверяет, что пользователь авторизован.
Получает все товары из таблицы cart текущего пользователя.
Формирует новую запись в таблице orders.
Добавляет каждую позицию в таблицу order_items.
Очищает корзину.
Отображает пользователю страницу подтверждения заказа.
