Много кто просил, Много кому обещал. Пишу ;)

Пока даже не знаю в скольки частях будет это руководство к написанию, но штуки 2-3 наверна будет )

В первой части займёмся написание этакого ТЗ для себя самого. Распишем как всё будет выглядеть и работать.

В такой системе обычно предполагается ряд страницы:

  1. Регистрация
  2. Авторизация
  3. Выход
  4. Личный кабинет
  5. Система администрирования(пока не решил точно будет ли она)

 Остановимся на каждом по подробнее.

 Регистрация

На этой странице пользователи вводят свои данные и жмут заветную кнопочку “Регистрация“.

Наша же задача состоит в хотябы минимальной проверке введённых данных и  собственно регистрации пользователя в системе.

Что будет уметь модуль регистрации:

  • Проверять имя пользователя на занятость
  • Проверять е-mail на соответствие формату и существование
  • Проверка на бота с использование капчи
  • Генерировать пароль и отправлять его на e-mail пользователя

Авторизация

Тут всё достаточно просто. Просим пользователя ввести логин/пароль и, возможно, ещё код с картинки и проверяем данные на существование в системе.

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

Также у пользователя будет возможность “вспомнить” свой пароль.

Выход

Тут даже ещё проще чем при авторизации ;)

Просто обнуляем сессию и отправляем пользователя на главную страницу сайта.

 Личный кабинет

Личный кабинет - страница на которую может попасть только зарегистрированный пользователь.

Сдесь он может изменить свой пароль или другую информацию.

Разрешать менять мыло и ник мы не будем т.к это не безопасно.

 Система администрирования

Пока думаю будет ли она вообще в рамках цикла этих статей или же нет.

На странице(а вернее нескольких страницах) администратор сможет:

  • просматривать список пользователей
  • менять данные пользователей
  • удалять пользователей

Все данные мы будем хранить в СУБД MySQL. Пароли будут храниться в зашифрованном виде.

На этом первая часть закончена, ждите продолжения.