19. Registro de Usuarios

Requisitos:

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



En la descarga 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:

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):

 

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.

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.