Curso de PHP y MySQL 19: Registro de Usuarios

Este es el capitulo 19 del Curso de PHP y MySQL. En este capitulo y los 2 próximos pondremos a prueba nuestro conocimiento obtenido a lo largo del Curso creando un Sistema de Usuarios en PHP y MySQL.

Requisitos:

  • Servidor Web, PHP (5.5 o superior) y MySQL. Ver Capitulo 1
  • Librerías: PHPMailer y reCaptcha
  • Bootstrap

En la descarga al final del post incluimos los formularios con librerías, hojas de estilo, javascripts y archivo sql con la base de datos, la estructura de carpetas es la siguiente:

Para iniciar necesitamos crear una Base de Datos con el nombre login y la siguiente estructura:

Ahora en la carpeta de funcs editamos el script conexion.php con nuestros datos de conexión a MySQL (Mas información):

También editaremos el script de funcs.php que esta en la carpeta de funcs, en este script solo modificaremos los valores de la función envialEmail() con nuestros datos del correo electrónico desde donde enviaremos los email para activación y recuperación de contraseña (Mas información):

El siguiente paso es realizar la acción de registro de usuario la cual tendrá diferentes validaciones del lado de cliente y del servidor:

En el script de registro.php debemos modificar la variable $secret con la clave secreta de nuestro reCaptcha así como el data-sitekey del elemento g-recaptcha del formulario con nuestra clave de reCaptcha (Mas Información).

Al enviar el formulario validara que los campos no estén vacíos, que el usuario y correo electrónico no existan en la base de datos, que el correo electrónico sea valido, que las contraseñas coincidan y que el usuario haya completado el sistema de Captcha, si tiene algún dato mal mostrara los mensajes en la parte inferior del formulario:

Al enviar el formulario y los datos estén correctamente nos enviara un pequeño mensaje:

Al correo electrónico proporcionado se enviara una url para activar nuestra cuenta y poder iniciar sesión, la url llamara al script activa.php y le envía el id de usuario y el token de activación por método get para su validación:

El resultado es el siguiente:

El mensaje puede variar dependiendo de las validaciones:

  • La cuenta ya se activo anteriormente.
  • Cuenta activada.
  • Error al Activar Cuenta
  • No existe el registro para activar.

Nota: Para la generación de password_hash en necesario tener la versión de PHP 5.5 o superior. En caso de tener problemas con el envío de Correo Electrónico y/o reCaptcha verificar el capítulo 14 y 17 donde se habla del tema.

Recuerda suscribirte a nuestro canal de YouTube, ¡¡¡Es Gratis!!!
Tutorial en Vídeo:

Comentarios