Урок Laravel 12 № 92 | Функция смены пароля | Проверка и обновление пароля
Автор: Stack Developers
Загружено: 2025-10-18
Просмотров: 81
🔗Полный плейлист серии уроков по электронной коммерции на Laravel 12 от нескольких поставщиков:
• Laravel 12 Multi-Vendor E-commerce
Добро пожаловать в 92-ю часть нашей серии обучающих материалов по электронной коммерции на Laravel 12 от нескольких поставщиков, где мы создаем полноценный профессиональный сайт электронной коммерции с нуля.
В этой части мы создадим функцию смены пароля в нашем проекте Laravel 12 от нескольких поставщиков.
Пользователи могут безопасно менять свой пароль в любое время после входа в систему. Форма включает поля текущего пароля, нового пароля и подтверждения пароля с теми же надёжными правилами проверки пароля, которые используются при регистрации.
Мы также делаем поле электронной почты доступным только для чтения, добавляем проверку на стороне сервера с помощью специального запроса UpdatePasswordRequest и обрабатываем всё через AJAX для удобства пользователя.
Логика обновления пароля реализуется на уровне сервисов, что обеспечивает чистоту кода, удобство его поддержки и тестирования.
✅ Функции, рассматриваемые в этой части:
• Форма смены пароля с адресом электронной почты, доступным только для чтения
• Надежные правила проверки пароля
• Проверка текущего пароля перед обновлением
• Отправка формы AJAX со встроенной обработкой ошибок
• Чистая логика обновления пароля на уровне сервисов
✅ Шаги по реализации:
1. 📁 Создание страницы смены пароля
Добавьте новую опцию «Сменить пароль» в боковую панель/меню учетной записи пользователя.
При нажатии на нее пользователь перенаправляется на специальную страницу (например, change_password.blade.php), где он может обновить свой пароль.
Форма должна содержать следующие поля:
Текущий пароль
Новый пароль
Подтверждение нового пароля
2. 🧪 Добавление правил валидации формы
Перед обновлением пароля мы проверяем следующие проверки:
✅ Текущий пароль: Обязательно и должен совпадать с существующим паролем в базе данных.
✅ Новый пароль: Обязательно, должен быть длиной не менее 8 символов и должен отличаться от текущего пароля.
✅ Подтверждение пароля: Должно совпадать с новым паролем.
Мы используем встроенную валидацию Laravel для обеспечения соблюдения этих правил.
3. 🔐 Проверка текущего пароля
После проверки сверьте введённый текущий пароль с паролем, хранящимся в базе данных, с помощью функции Laravel Hash::check().
Если пароль не совпадает, вернётся сообщение об ошибке, например:
❌ «Ваш текущий пароль неверный».
4. 🔄 Обновление нового пароля в базе данных
Если текущий пароль совпадает и проверка пройдена:
Хешируйте новый пароль с помощью Hash::make().
Обновите пароль в таблице пользователей.
Сохраните изменения.
После успешного обновления выведите сообщение об успешном завершении:
✅ «Ваш пароль успешно обновлён».
5. 📢 Флэш-сообщения об успешном завершении/ошибках
Используйте флеш-сообщения сеанса Laravel для отображения удобных оповещений после отправки формы:
🔔 Успех: «Пароль успешно обновлён».
⚠️ Ошибка: «Не удалось обновить пароль. Попробуйте ещё раз».
6. 🧪 (Необязательно) Добавьте подсказки о надёжности пароля
(Необязательно, но рекомендуется) Отображайте индикаторы надёжности пароля или подсказки (например, с использованием заглавных букв, цифр и символов) для поощрения использования надёжных паролей.
7. 🧰 Протестируйте весь процесс
Перейдите на страницу «Изменение пароля».
Попробуйте ввести неверный текущий пароль (должна появиться ошибка).
Попробуйте ввести несовпадающие новые/подтверждённые пароли (должна появиться ошибка проверки).
Попробуйте ввести корректные входные данные (обновление должно пройти успешно, и пользователь должен выйти из системы или остаться в системе в зависимости от политики вашего приложения).
✅ Итоговый результат / Чего мы достигли
Теперь пользователи могут безопасно обновлять свои пароли из панели управления учётной записью.
Реализованы корректная валидация, проверки безопасности и обработка ошибок.
Пароли хранятся в хешированном виде в базе данных с помощью системы хеширования Laravel.
Улучшены функции безопасности пользователей и управления учётными записями.
📢 Не забудьте поставить лайк, поделиться и подписаться, чтобы получать новые руководства по Laravel! 🚀
🔗Добавьте в закладки и подпишитесь на эту серию видеоуроков Laravel 12 Multi-Vendor Ecommerce:
• Laravel 12 Multi-Vendor E-commerce
►Нажмите здесь, чтобы подписаться на новости Laravel и другие новости - / stackdevelopers
Популярные серии видеоуроков Stack Developers, которые могут вам помочь:
►Руководство по Laravel 12 (с MySQL): • Laravel 12 Tutorial
►Руководство по Laravel 11 (с MongoDB): • Laravel 11 Tutorial (with MongoDB)
►Руководство по Laravel 11 и PostgreSQL: • Laravel PostgreSQL Tutorial
►Руководство по Laravel API - https://www.youtube.com/playlist?list....
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: