Як зробити реєстрацію та авторизацію користувачів на сайті
Не так давно один з моїх відвідувачів попросив мене написати статтю про те, як зробити реєстрацію та авторизацію користувачів на сайті. Власне, виконую його прохання, і в цій статті я розповім про те, як це робиться.
Існує кілька способів створення реєстрації та авторизації користувачів, але в цій статті я розберу свій улюблений - через механізм сесій або cookie.
Насамперед, якщо Ви хочете зробити реєстрацію у себе на сайті, то необхідно розуміти, де будуть зберігатися дані про користувачів. Можна зберігати в звичайному текстовому файлі, в XML-файлі, або в базі даних. Перші два варіанти - дуже небезпечні, тому не рекомендую Вам ними користуватися. А ось третій варіант - зберігання інформації про користувачів в базі даних - найпопулярніший, і саме цим способом зберігання інформації я раджу Вам користуватися.
З місцем зберігання визначилися. Тепер перейдемо безпосередньо до алгоритму авторизації:
- Створити форму реєстрації на HTML.
- Отримати дані з форми в скрипті-обробнику.
- Перевірити отримані дані, і якщо вони є некоректними, то зробити редирект назад на форму реєстрації.
- Якщо дані коректні, то записати їх в базу даних.
Ось і весь процес реєстрації користувача на сайті. Тобто реєстрація - це збереження інформації про користувача на сайті.
Подальшим пунктом є авторизація користувача на сайті, однак, перш ніж до нього переходити, розповім про один важливий момент в формі реєстрації - пароль. Я Вам настійно рекомендую не зберігати паролі у відкритому вигляді (наприклад так, "123456"). Обов`язково їх шифруйте, хоча б за допомогою функції md5 (). І в базі даних зберігайте саме зашифрований пароль.
Тепер авторизація. Перше, що Ви повинні зрозуміти - це те, що інформація про авторизацію повинна десь зберігатися. Найпростіший варіант - це зберігання інформації в сесії (або в cookie). А тепер алгоритм:
Відео: Форма реєстрації. Як створити форму реєстрації php
- Створити форму авторизації користувача на HTML, куди користувач повинен буде ввести свій логін і пароль.
- В скрипті-обробнику прийняти дані від користувача. Якщо Ви мене послухали, і зберігайте шифровані паролі в базі даних, то спочатку шифруйте отриманий пароль. Якщо ж в базі даних лежать відкриті паролі, то шифрувати не треба.
- Перевірити вірність введених даних, і якщо логін і пароль співпадають з існуючим користувачем в базі даних, то записуєте в cookie або сесію інформацію з логіном і шифрованих паролем (або відкритим паролем, також якщо він не шифрували).
- Якщо логін і / або пароль введені невірно, то робити редирект назад на форму авторизації.
Тепер у Вас є необхідна інформація про авторизації користувача, яка зберігається в його cookie або на сервері (якщо сесія). Фактично, тепер Вам потрібно цю інформацію перевіряти на кожній сторінці сайту і звіряти її аналогічно перевірці форми авторизації. Тобто зчитуєте з cookie (Сесії) логін і пароль, і перевіряєте його. Якщо вони вірні, то показуєте одну сторінку (для зареєстрованих користувачів), а якщо невірні, то показуєте іншу сторінку (для гостей).
Відео: як зробити реєстрацію та авторизацію на сайті
І останнє. Як робиться кнопка "вихід"? Дуже просто. При натисканні на цю кнопку, стираються cookie, або сесія. Таким чином, користувач автоматично вилітає з сайту.
Як бачите, все елементарно, але при реалізації цього алгоритму у Вас обов`язково виникне безліч питань. Наприклад, що робити при реєстрації користувача, логін якого вже є в базі даних. Реалізація різних перевірок вхідних даних, реалізація перевірки існування e-mail та інше - все це є досить складним, якщо Ви робите це в перший раз. Однак, самий сік я видав. Якщо будуть питання при реалізації, то питайте або на форумі, або в коментарях.
У даній статті я привів лише алгоритм, а щоб навчитися його реалізовувати потрібно знати PHP і MySQL, які максимально докладно розібрані в цьому навчальному курсі: https://srs.myrusakov.ru/php
- Як зробити авторизацію користувачів через facebook.
- Вийшов відеокурс з основ php
- Як створити голосування на сайті
- Як зробити типи користувачів на php
- Як зробити коментування на сайті
- Як зробити коментування на html-сайті
- Як створити свій api на сайті
- Як зберігати дані в формі
- Як зробити сторінку користувача
- Фсб домагається повного доступу до даних інтернет-користувачів
- Система лайків на php і ajax
- Чи варто зберігати зображення в бд
- Реалізація хто онлайн
- Створення движка на mvc. Покращуємо шифровку пароля користувачів.
- Шифрування паролів користувачів на сайті
- Реалізація пошуку на сайті через php
- Реєстрація сайту
- Обробка форми в php
- Mysql
- Групи користувачів в joomla
- Різниця між cookie і сесіями