ПР06. Регистрация/авторизация пользователя

Ваша задача разработать сайт, разделённый на открытую и закрытую часть. Открытая часть должна быть доступна всем посетителям. Доступ к закрытой части сайт осуществляется после успешного прохождения авторизации.

Задание 0

Обязательно к выполнению для всех.

С помощью phpMyAdmin создать базу данных с именем [name]_db, где [name] - Ваша фамилия(на английском).

Например: ivanov_db

Далее с помощью того же phpMyAdmin создать в базе данных одну таблицу с именем [name]_table, где [name] - Ваше имя(на английском).

Например: ilya_table

Таблица должна иметь следующую структуру

Структура таблицы ilya_table
Имя
столбца
Тип данных
(размер)
Описание
idINTИндентификатор. Данное поле сделать первичным ключом и назначить автоматическое инкрементирование
fioVARCHAR(100)Хранит фамилию имя и отчество.
loginVARCHAR(50)Логин пользователя
passwordVARCHARПароль пользователя. Храниться в виде хэш-функции. Выбор хэш-функции остаётся за студентом.
saltVARCHAR"Соль" используема при хэшировании пароля пользователя
На данном этапе таблицу заполнять не нужно

После чего сделать дамп базы данных. Дамп базы сохранить в рабочей папке с сайтом в директории /_db

Например: Полный путь до дампа базы данных будет C:\OpenServer\domains\pr06\_db\ivanov_db.sql

Задание 1

Ваша задача разработать сайт имеющий примерную структуру

Примерная структура сайта

Сайт разделить на открытую и закрытую часть. Открытая часть сайта должна быть доступна всем - это главная страница сайта, страница с формой регистрации пользователя и страница с формой авторизации пользователя.

Пример формы авторизации пользователя на сайте

На форме авторизации должны быть два поля для ввода логина и пароля. Поле отведённое для пароля должно скрывать его от посторонних. Для обоих полей предуспотреть подсказку для ввода(аттрибут placeholder).

В случаи упешной авторизации пользователя - вывести на экран сообщение об успешной авторизации и перенаправить пользвателя(не с разу, а с задержкой в 1с) на закрытую часть сайта. При не правильном вводе пары логин/пароль - выдать сообщение об ошибке.

Сообщения выдаваемые пользователю при авторизации на сайте

На форме регистрации должны быть поля для ввода ФИО пользователя, пароля и поле для повторного ввода пароля. При этом необходимо обеспечить проверку вводимых данных.

При успешной регистрации пользователя(на странице регистрации) осуществить перенаправления на форму авторизации.

На форме регистрации пользователя выводить сообщения о успехе или ошибке

Закрытая(секретная) часть сайта

При успешной авторизации пользователя на сайте, его перенаправить на закрытую часть. Данная старница должна содержать ФИО пользователя, кнопку для выхода из текущей сессии пользователя и форму для добавления файлов на сервер.

Примерный вид закрытой части сайта

По завершению загрузки файла на сервер - вывести сообщение об успешном выполенении операции, а так же выдать полный путь до файла.

Удачное добавления файла на сервер

В обязательном порядке необходимо выполнить следующие критерии:

Для разграничения доступа на сайте использовать суперглобальную переменную $_SESSION

Загрузка файла должна осуществляется с помощью суперглобальной переменной $_FILES