Восстановление пароля на PHP

восстановление пароля php
Метки: /

В этой статье вы прочитает про то, как сделать восстановление пароля на PHP для вашего сайта, будет очень интересно.

Также перед тем как начать читать эту статью, посмотрите: Как сделать регистрацию на PHP через email, потому что мы будем делать на базе кода из этой статьи, поэтому это будет полезно.

Как будет работать восстановление пароля:

Для начала разберём как будет работать программа, при нажатие на ссылку «забыл пароль», вас перекинет на страницу, где надо будет ввести Email.

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

Создание восстановление пароля на PHP:

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

Но перед этим конечно нужно сделать PHP файл, куда ссылаться в ссылке.

Также нужно создать Базу данных, но повторятся я не хочу, поэтому выше уже есть ссылка на статью, где мы создаём нужную БД, сразу перейдём к созданию программы.

Создание отправки Email:

Для этого у себя я сделал файл «email.php», вот его HTML.

Тут всё очень просто, если вы знаете HTML, поэтому не буду даже описывать что тут написано, но если вы не знаете его, то перейдите на наш учебник, где вы изучите HTML.

Перейдём к самому коду PHP, который мы сделаем в этом же файле.

Как видите, код достаточно большой, сейчас я его разберу, первым делом мы подключаем файл, для подключение БД.

Потом идёт проверка, нажата ли кнопка, после, опять проверка, что нибудь вписано в поле, если нет, то выводит сообщение об ошибке.

Дальше уже создаётся хеш и заголовок для Email, про хеш я уже говорил выше, а вот заголовок нужен для правленого определения почты, куда отправлять и как настроить, к примеру в моём случае настроено так, что бы отправлялся HTML, а не просто текст, благодаря это строчки
Content-type: text/html; charset=utf-8rn.

Создаём переменную $message, куда в качестве строки вписываем не большой HTML документ.

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

Вот какое письмо придёт при отправление.

 

Email для восстановления пароля через PHP

На этом первый скрипт закончился.

Генератор пароля на PHP:

Теперь сделаем что бы при заходе на эту страницу генерировался новый пароль, и менялся в базе данных на него, для этого я создал PHP файл «newpass.php», вот код в файле.

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

Дальше берём пользователя через цикл while, и там начинается самое интерьерное, сам PHP генератор пароля.

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

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

Также есть функция rand(), которая возвращает случайное число, нам она нужна для выбора буквы, возвращаемая буква добавляется к переменной $pass.

Последнее, это обновление пароля и вывод этого пароля, вот результат.

php генератор пароля

Как видите сгенерирован совершенно случайный пароль.

Вывод:

В этой статье вы прочитали о том как сделать восстановление пароля на PHP, ещё стоит сказать на счёт генератора, его код я взял с другого сайта, который сможете посмотреть по этой ссылки.

Также если вы плохо знаете PHP, то посмотрите наш учебник по PHP.

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

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
(Пока оценок нет)
Загрузка...

Поделится:

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

55058653