Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 20 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,24 @@
# RegistrationForm
Форма регистрации и авторизации пользователя, MySQL, JS, PHP, AJAX.

<p>После копирования на сервер директории registration-form, форма будет доступна по ссылке <i><название сайта>/registration-form</i>. Также файлы с директории registration-form можно положить куда угодно на сервер, и форма будет доступна по соответствующей ссылке. Т.е. форма не завязана по абсолютному пути.</p>
# Сделать проект с авторизацией пользователя на PHP, JavaScript и MySQL. На стартовом экране выводим форму (логин/пароль), после успешной авторизации выводим из БД данные с информацией о пользователе (имя, фото, дату рождения) и кнопкой logout.

<br/><b>db.sql</b> - дамп базы данных mysql.<br/>
# Требования к функционалу:
- если логин/пароль неправильные - выводим ошибку (асинхронно)
- авторизация происходит без перезагрузки страницы
- после успешного входа выводим анимационный блок (JS, текст об успешной авторизации, через 10 секунд скрываем) и данные о пользователе
- хорошая верстка формы входа и страницы с информацией о пользователе
- адаптивная верстка под мобильные устройства
- одновременная поддержка нескольких сессий пользователя
- защита от брутфорса (подбора пароля)

# Требования к коду:
- код на чистом PHP/JS (без фреймворков, библиотек, систем сборки и т.д.)
- компактная архитектура (минимальное количество паттернов, функций-оберток, конструкторов, файлов и папок и т.д.)
- авторизация на основе cookies
- код в snake_case

# Требования к БД:
- простая и понятная структура данных
- использование индексов
- не хранить пароли в базе в открытом виде

<h3>Структура файлов:</h3>
<b>css/</b> - файлы стилей <br/>
<i>reset.css</i> - сбрасывает все стандартные стили элементов <br/>
<i>style.css</i> - главный файл стилей формы и страницы пользователя <br/>
<b>img/ico</b> - используемые пиктограммы <br/>
<b>js/</b> - java script файлы <br/>
<i>main.js</i> - содержит javascript управления регистрационной формой <br/>
<b>php/language/</b> - файлы содержащие языковые конфиги <br/>
<i>en.php</i>, <i>ru.php</i> - английский и русский конфиги, соотвтетственно, состоят из ассоциативного массива, описывающего выводимые надписи на странице. <br/>
<b>model/</b> - файлы обработки данных<br/>
<i>validation.php</i> - файл содержит класс, который проверяет введенные пользователем данные в регистрационной форме, и взводит флаги ошибок, в случае если что-то введено неверно, также, здесь же происходит обработка введенных данных.</br>
<i>Database.php</i> - абстрактный класс для работы с базой данных.</br>
<i>MyDatabase.php</i> - класс, наследуемый от Database, содержит методы для работы с базой данных mydb<br/>
<b>view/</b> - файлы отображения<br/>
<i>header.php</i> - заголовочный файл, содержит доктайп, тайтл, подключение стилей.<br/>
<i>lang-switch.php</i> - файл содержит переключатель языка.<br/>
<i>registration-form.php</i> - формы регистрации и авторизации.<br/>
<i>user.php</i> - страница пользователя.<br/>
<i>footer.php</i> - подвал сайта.<br/>
<b>uploads/img</b> - файлы с изображениями пользователей.<br/>
<hr/>
<i>index.php</i> - главный файл, который выводит на страницу необходиымую информацию.<br/>
<i>register.php</i> - скрипт обработки регистрации.<br/>
<i>auth.php</i> - скрипт авторизации.<br/>
<i>city.php</i> - скрипт вывода списка городов из базы данных.<br/>