Dándole continuidad al proceso de se explica como enviar correos gmail desde PHP con la función mail() en localhost con XAMPP ahora se implementa un sistema de olvidé mi contraseña que te envía un correo electrónico a tu buzón con un enlace para reiniciar tu contraseña.
Sencillamente pones tu nueva contraseña y podrás acceder de nuevo al sistema. En adición, este sistema te podrás registrar sencillamente y acceder con tus credenciales.
El proceso se explica completamente en el vídeo a continuación
El funcionamiento es muy sencillo, es apenas un módulo para una aplicación real como las que he publicado en este blog en el apartado de desarrollo, de social media o growth hacking
Puesta a punto de la aplicación en un servidor local
Para realizar el proceso se debe descargar he instalar XAMPP, se recomienda en adición descargar he instalar GIT, aunque es perfectamente posible tener una copia del proyecto en tu ordenador desde GitHub, con la opción Download ZIP.
Cabe agregar que para que funcione el envío de correo electrónico con el enlace debes configurar XAMPP específicamente para que pueda enviar correos, este proceso lo explico en una publicación previa.
Descarga del Proyecto subido a GitHub
El enlace de descarga del proyecto es el siguiente
Registro de Usuario, Login y Cambio de Contraseña en PHP y MySQLSe recomienda en adición la descarga he instalación de Visual Studio Code para que todo vaya acorde con el proceso en vídeo.
En este momento si se realizó la descarga he instalación de XAMPP con todos los parámetros por defecto, en tu ordenador podrás acceder a disco local C, la carpeta htdocs y ahí, si tienes GIT instalado solo tendrás que ejecutar el siguiente comando
git clone https://github.com/configuroweb/olvidopass.git
Configuración de la Base de Datos
Para hacer el proceso de la puesta a punto de la aplicación, es necesario activar los servicios de Apache y MySQL en la consola de XAMPP.
Consola-XAMPP-con-Servicios-Apache-y-MySQL-InstaladosPosterior al proceso de la activación de los servicios, debes acceder al siguiente enlace:
http://localhost/phpmyadmin/
Crear una base de datos con el nombre logtest te recomiendo que el cotejamiento elijas la opción de UTF8 Spanish 2 CI, para que la BD te soporte tildes y expresiones típicas de nuestro lenguaje.
Por último, accedes al apartado de SQL y pegas el código a continuación:
-- phpMyAdmin SQL Dump -- version 5.0.2 -- https://www.phpmyadmin.net/ -- -- Servidor: 127.0.0.1 -- Tiempo de generación: 20-06-2020 a las 21:24:33 -- Versión del servidor: 10.4.11-MariaDB -- Versión de PHP: 7.4.4 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Base de datos: `logtest` -- -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `users` -- CREATE TABLE `users` ( `id` int(11) NOT NULL, `first_name` varchar(100) COLLATE utf8_unicode_ci NOT NULL, `last_name` varchar(100) COLLATE utf8_unicode_ci NOT NULL, `email` varchar(100) COLLATE utf8_unicode_ci NOT NULL, `password` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `phone` varchar(15) COLLATE utf8_unicode_ci NOT NULL, `forgot_pass_identity` varchar(32) COLLATE utf8_unicode_ci NOT NULL, `created` datetime NOT NULL, `modified` datetime NOT NULL, `status` enum('1','0') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -- Índices para tablas volcadas -- -- -- Indices de la tabla `users` -- ALTER TABLE `users` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT de las tablas volcadas -- -- -- AUTO_INCREMENT de la tabla `users` -- ALTER TABLE `users` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
En este punto ya debería funcionar la aplicación de Registro de Usuarios, Login y Cambio de Contraseña en PHP y MySQL en el siguiente enlace si no has cambiado ninguno de los atributos por defecto.
http://localhost/olvidopass/index.php
Cualquier duda no dudes en comentar.