Как сделать регистрацию на PHP через email

php подтверждение регистрации по email
Метки: / /

В этой статье хочу рассказать как сделать регистрацию на сайте, конечно, уже есть подобная статья на сайте (Ссылка на статью), но в этой ещё покажу как сделать в PHP подтверждение регистрации по email, что очень полезно бывает.

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

Как работает регистрация:

Регистрация через Email работает очень просто, для этого мы будем отправлять ссылку, которая хранит в себе GET запрос с хешом пользователя, когда человек переходит по ссылки, хеш проверяется, находится пользователь с таким хешом и меняет значение столбца который отвечает за подтверждение Email на подтвержденный.

Подготовка базы данных:

Для начала создадим базу данных в которой будет хранится данные о пользователе.

Создание базы данных:

Создаём базу данных, называем её user-login, но я назову её просто test и выбираем кодировку utf8_general_ci.

Нажимаем кнопку, создать БД

Называем БД authorization-system и выбираем кодировку

После того как база данных была создано, создаём таблицу.

Создание таблицы в БД:

Теперь нужно создать таблицу для пользователей, вот как она выглядит.

Делаем таблицу для регистрации по Email на PHP

Как можете заметить, это обычная таблица для пользователей, нам тут интересно только два столбца, первой это хеш, по нему мы будем определять Email, а последний столб отвечает за то, подтверждён ли email или нет, если значение один, то и ноль соответственно нет.

Подключение БД для регистрации:

Теперь пришло время подключить базу данных к сайту.

Если выводит, что подключение к базе данных прошло успешно, то значит всё хорошо.

Дальше подключаем этот файл в наш основной, для регистрации, для этого используем require_once.

Вот теперь всё должно хорошо работать, а если не заработает, то выведет ошибку.

Создание регистрации на PHP:

Пришло время написать регистрацию на PHP, но для начала сделаем форму.

Ну тут не чего интересного нет, простая HTML форма, Вот какая форма получилась.

Форма для отправки Email

Вот сейчас наконец можно посмотреть как делается регистрация с подтверждением email PHP 7.

Как видите это обычное код для регистрации, сначала идёт проверка все ли поля забиты правильно, потом, если всё хорошо, то создаются данные для отправки почты, дальше отправляется Email и одна временно проверяется отправилось ли письмо, если всё хорошо, выводит на экран «Подтвердите на почте».

Информацию о функции password_verify найдёте здесь.

Вот какое письмо пришло ко мне на Email.

Письмо для подтверждении Email

Подтверждение Email:

Теперь пришло время написать скрипт для подтверждения email, это будет отдельная страница.

Давайте разберём этот код, сначала идёт подключение БД, потом проверка, существует ли GET запрос, если да, то получаем ID и Email по хешу и проверяем, мы вообще получили эти данные, если да, то опять идёт проверка, если столбец который отвечает за подтверждённый Email, если равен одному, то Email не подтверждён, ноль соответственно значит подтверждён.

Если всё проверки прошли и не вывело не одной ошибки, то программа обновляет столбец email_confirmed на ноль.

Нажимаем на ссылку из письма и вот какая страница у нас выходит.

Вывод что почта подтверждена

Вот что будет в БД.

БД после подтверждения

Как видите всё работает нормально, этот код полностью рабочий.

Вывод:

Надеюсь эта статья для вас была полезно, здесь я показал как сделать регистрацию, но не просто а на PHP подтверждение регистрации по email, поэтому она не много сложнее чем предыдущая часть про регистрацию (Ссылка на статью).

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

Рекомендации по коду:

Этот код был достаточно простой, поэтому дам пару советов по его улучшению.

Первое что можно сделать, это данные с хешом хранит в отдельной таблицы в базе данных, второе, нужно добавить зависимость от времени, что бы по истечению одно дня, если Email не подтверждён, приходилось заново регистрироваться.

Также, если вам надо сделать восстановление пароля по Email, то посмотрите статью: «Восстановление пароля на PHP».

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Количество оценивших: 6
Средняя оценка: 4,33
Загрузка...

Также рекомендую:

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии