PHP авторизация на сайте — чтобы пользователи не мерзли у входа

PHP авторизация на сайте

От автора: современные устройства не только помогают в жизнь, но еще и затрудняют ее. Мой сосед три часа простоял возле собственного подъезда. И все потому, что забыл дома ключи, а приехавшая в гости теща не узнала голос собственного зятя по домофону. Или не хотела «признать» :). Сегодня мы разберемся, что такое PHP авторизация на сайте и как ее правильно организовать, чтобы ваши пользователи «не мерзли» у входа.

Стандартная авторизация

Авторизация на сайте является необходимой функцией. С ее помощью владелец ресурса может попасть в административную панель и скорректировать работу систему, а контентщик – опубликовать новый материал.

Кроме этого на многих сайтах пользователям предоставляют доступ к дополнительному функционалу, которым не могут воспользоваться обычные посетители (комментирование, размещение фотографий, специализированные инструменты). Для авторизации человек должен быть зарегистрирован в системе ресурса.

В современном интернете стандартной считается модуль авторизации на сайте, построенный на PHP и MySQL. Вся информация о пользователе, полученная во время регистрации, записывается в специальную таблицу БД MySQL. Набор сохраняемых значений на каждом сайте может варьироваться, но обязательными являются логин и пароль пользователя.

Человеку, зашедшему на любимый ресурс, нужно сообщить его системе о том, что он является зарегистрированным (постоянным) пользователем ресурса. Для этого в специальную форму посетитель вводит свой логин и пароль. Затем их значение с помощью скрипта авторизации на PHP и MySQL сравнивается с данными, сохраненными в СУБД. Если они совпадают, то пользователь получает доступ к расширенному функционалу ресурса.

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать веб-приложение на PHP с полного нуля

Получить курс сейчас!

Здесь еще можно упомянуть о системе ролей, реализованных во многих популярных движках. В них каждой учетной записи предоставляется доступ к определенному набору инструментов. Более подробно этот процесс описан в материалах, посвященных CMS.

Мы это проходили

Да, этот процесс мы уже рассматривали в предыдущих материалах. Но мы ни разу не упоминали о такой важной составляющей, как сессии. С их помощью пользователь может после авторизации посещать все разделы ресурса, и не проходить данную процедуру на каждой странице. Рассмотрение темы о том, как сделать авторизацию на сайте PHP, было бы не полным без изучения возможностей сессий.

Начнем, как всегда, с формы. Вот ее разметка:

Обработчик с элементами ООП и бес СУБД

Вы не ослышались: сегодняшний скрипт авторизации на PHP будет без СУБД. Точнее, это сделано намеренно, чтобы акцентировать внимание на сессиях. А для обработчика мы создадим отдельный класс и наполним его специализированными функциями.

Все переменные сессии доступны через одноименный глобальный массив PHP $_SESSION. Для начала запускаем сессию и устанавливаем «правильную» кодировку:

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

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать веб-приложение на PHP с полного нуля

Получить курс сейчас!

Обратите внимание, что в PHP скрипте авторизации на сайте большая часть значений переменных берется из массива $_SESSION.

Функция maybe() проверяет, была ли начата сессия и авторизирован ли пользователь в системе ресурса.

С помощью auth() проводим авторизацию. Проверяем правильность введенного пароля и логина.

Функция give_login() возвращает пользовательский логин, записанный в сессии. С помощью vihod() – закрываем сессию:

Доделаем авторизацию на сайте PHP. В конце файла обработчика создаем экземпляр класса Authoris_sess и добавляем несколько проверок: валидность пароля и логина, а также нажатие на кнопку выхода (окончания сеанса).

Доводим до ума форму

В файл формы вначале «прикрепляем» обработчик. Затем проверяем, авторизирован пользователь или нет. Если да, то выводим для него кнопку окончания сессии. Если нет, то показываем форму:

Оба файла проекта можно скачать по этой ссылке. Сегодняшний материал получился интересным и без модуля PHP авторизации на другом сайте. Для сохранения и записи значений мы использовали переменные сессии. Затем их значения сохраняются на стороне сервера и «всплывают» при следующем визите. С их помощью можно повысить степень индивидуализации функционала для каждого пользователя. Но этим мы займемся как-нибудь в следующий раз :).

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать веб-приложение на PHP с полного нуля

Получить курс сейчас!

Разработка веб-приложения на PHP

Скачайте видеокурс и узнайте, как создать веб-приложение на PHP

Скачать

Метки:

Похожие статьи:

Комментарии Вконтакте: