Cкрипт регистрации и авторизации на php

 Сегодня рассмотрим вариант скрипта регистрации и авторизации на вашем сайте. Поскольку систему авторизации мы уже подробно разобрали. А посмотреть и тем более скачать уже готовые рабочие скрипты вы можете на этой странице. То сейчас мы подробно и досконально разберем систему регистрации на вашем сайте.

Для чего нужна регистрация на сайте?

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

 

 

 

Итак, начнем. Рассмотрим прежде всего регистрацию для быстрой и простой регистрации пользователей. А именно пусть пользователь вводит только email, пароль и проверочную капчу. Капча нужна для защиты от ненужных и вездесущих спам-ботов. Помню лет пять назад у меня был сайт с простейшей регистрацией. Пользователи указывали только имя логин и пароль. Капчи не было. В результате, сайт был атакован и заспамлен простейшим скриптом парсером, который за час произвел регистрацию нескольких тысяч спам пользователей. Пришлось установить защиту с капчей.

Скрипт регистрации сделаем по технологии ajax. Пусть это вас не пугает. Зато скрипт работает быстрее и без перезагрузки страницы.

Вот пример формы ввода :
 

 Вверху формы мы указали три файла jQuery расширение файлов:  javascript. Также указали графический файл login.gif. При не работающем скрипте (кнопка еще не нажата) gif файл login.gif имеет атрибут display: none. То есть файл не виден на странице. Как только пользователь нажимает кнопку регистрация, файл login.gif меняет свой атрибут на видимый. Данная фишка нужна для того чтобы на момент включения скрипта графический файл уже будет загружен на странице и пользователь сразу увидит после нажатия кнопки, индикатор загрузки.

А теперь расмотрим файл обработчик данных поступающих с формы регистрации:

 Вверху обработчика мы сразу включаем сессию при помощи функции session_start(); Эта функция предназначена для передачи переменных капчи которые генерируются случайным образом. Проверочный код настроен на вывод двух или трех знаков. Хотя количество выводимых знаков вы можете менять сами вплоть до 12 знаков. Но чрезмерное увеличение знаков капчи может привести к тому что клиент не захочет проходить регистрацию. Где вы будете их прописывать чуть ниже.

Сам скрипт проверяет наличие переменной $_POST[`action`] который равен значению "save". Наличие этих данных говорит скрипту на запуск работы и пора проверять поступившие данные. Вначале проверяем логин на количество знаков их должно быть не больше двенадцати. Вы можете самостоятельно изменить это количество в строке 39 (Это вы можете увидеть если откроете файл в редакторе PSPaD). 

Затем проверяем каким шрифтом указан логин. Если указаны кириллические символы выводим ошибку и останавливаем работу скрипта.

 Затем проверяем пароль и повтор пароля. Если пароли не совпадают - останавливаем скрипт и выводим ошибку. Проверяем пароль на количество знаков. В начальном варианте настроено на минимальное количество 4 максимальное 16. Вы самостоятельно можете изменить настройки по количеству знаков в строке сорок семь.

Затем проверяем правильно ли указаны знаки который сгенерирован скриптом капча. Для этого сравниваем переменную $_POST[`keystring`] и переменную $_SESSION[`captcha_keystring`]. Эти два переменных должны быть равны иначе выводим ошибку и останавливаем скрипт. Чтобы при сравнении двух переменных не учиывать регистр знаков (большие или маленькие буквы) мы обрабатываем оба переменных при помощи функции strtolower. Эта функция переводит все значения, указанные рядом в скобках в нижний регистр. Проще говоря переводит все знаки из заглавных в маленькие буквы.

 Как и обещал припишем количество выводимых знаков капчи. Это строка 9. Меняем цифры, например 6, 8. Тогда будет указано шесть или восемь знаков. Это выбираете вы сами лично. Кроме того можно задать ширину и высоту поля для отображения капчи. Все это прописываете в файле kcaptcha_config.php

 Затем проверяем логин - есть ли такой логин в базе данных или нет. Если есть выводим ошибку и останавливаем скрипт.

Чуть выше стоят функции для проверки e-mail. Первая проверяеет правильно ли написан адрес e-mail. А вторая проверяеет наличие такого же адреса email в базе данных.

Если все указано верно то пишем все данные в базу данных. И выводим сообщение что все сделано верно. В нашем варианте выводим сообщение и ссылку на страницу авторизации. 

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

А процесс верификации или активации состоит в том что на указанный при регистрации адрес email отправляется письмо со ссылкой внутри письма. Клиент который прошел регистрацию получает данное письмо открывает и проходит по ссылке. Ссылка обычно переводит статус в базе данных на активный. Данную функции мы рассмотрим чуть позже. 

Добавить комментарий


( ! ) Ф.И.О.
( ! ) Текст сообщения: (Не больше 5000 знаков)

( ! )Введите текст с картинки :
Обновить код
Положительный отзыв Положительный отзыв
Отрицательный отзыв Отрицательный отзыв



Коллекция скриптов и модулей   © 2017