En este tutorial, aprenderá a verificar la dirección de correo electrónico del usuario mientras se registra el usuario. Esta es la continuación del script de registro de usuario. Aquí, estoy generando un código de verificación basado en el valor del campo de entrada de usuario enviado por el usuario. Porque este nombre de usuario es único.
Luego enviando este código de verificación a través de correo electrónico para ese usuario como un enlace. Si el usuario hace clic en ese enlace, se verificará su cuenta. Estoy usando PHPMailer para enviar correos electrónicos a través de credenciales de inicio de sesión de SMTP. Si no sabe cómo utilizar PHPMailer, siga este tutorial - Cómo utilizar PHP Mailer.
Generar clave de verificación basada en nombre de usuario, use este código justo después de la variable de nombre de usuario
$ verification_key = md5 ($ username);
A continuación, modifique la consulta sql para insertar el valor de verification_key en la tabla de la base de datos. Antes de eso, altere la tabla databse y cree la columna verfication_key con el tipo varchar.
$ sql = "INSERT INTO` login` (username, email, password, verification_key) VALUES ('$ username', '$ email', '$ password', '$ verification_key') ";
Después de insertar datos con éxito en la tabla, enviaré un correo electrónico. Antes de eso, descarga PHPMailer de github.
Incluya el archivo PHPMailerAutoload.php en nuestro archivo register.php.
require ('PHPMailer / PHPMailerAutoload.php');
1
require ('PHPMailer / PHPMailerAutoload.php');
A continuación, cree un archivo con el nombre de config.php para almacenar las credenciales smtp.
<? php
$ smtphost = "su-smtp-host";
$ smtpuser = "su-smtp-usuario";
$ smtppass = "su-smtp-pass";
1
2
3
4
<? php
$ smtphost = "su-smtp-host";
$ smtpuser = "su-smtp-usuario";
$ smtppass = "su-smtp-pass";
Incluye este archivo config.php en el archivo register.php
require ('config.php');
Envíe un correo electrónico utilizando la Biblioteca PHPMailer, si el registro se insertó correctamente.
PHP
if ($ result) {
// $ smsg = "Registro de usuario exitoso";
// $ to = $ r ['email'];
$ subject = "Verificar su cuenta";
$ mail = nuevo PHPMailer ();
$ mail-> isSMTP ();
$ mail-> Host = $ smtphost;
$ mail-> SMTPAuth = verdadero;
$ mail-> Nombre de usuario = $ smtpuser;
$ mail-> Password = $ smtppass;
$ mail-> SMTPSecure = 'ssl';
$ mail-> Port = 465;
$ mail-> setFrom ('email@email.com ',' Tecnologías de instinto programador');
$ mail-> addAddress ('hola@email.com ',' hola Vengala ');
$ mail-> Subject = $ subject;
$ mail-> Body = "Verifique su dirección de correo electrónico para activar su cuenta haciendo clic en este enlace http: //localhost/cc/login/verify.php? key =". $ verification_key;
if (! $ mail-> send ()) {
echo 'No se pudo enviar el mensaje.';
echo 'Mailer Error:'. $ mail-> ErrorInfo;
} else {
echo 'Mensaje ha sido enviado';
}
}más{
$ fmsg = "Error en el registro del usuario";
}
Hasta ahora podemos enviar correos electrónicos con éxito. A continuación, tenemos que crear el archivo verify.php para actualizar la columna activa del registro del usuario en 1. Eso hace que el usuario esté activo.
conéctese a databaase en el archivo verify.php y asigne el valor clave de url a variable.
conéctese a databaase en el archivo verify.php y asigne el valor clave de url a variable.
<? php
require_once ('connect.php');
$ clave = $ _GET ['clave'];
Luego, usando SELECT sql query, verifique si la clave de verificación existe en la base de datos. Si el recuento devuelve uno, actualice el valor de la columna activa de registros a 1.
$ sql = "SELECCIONAR * FROM 'ingresar' DONDE verification_key = '$ key'";
$ res = mysqli_query ($ conexión, $ sql);
$ count = mysqli_num_rows ($ res);
$ r = mysqli_fetch_assoc ($ res);
$ id = $ r ['id'];
if ($ count == 1) {
echo "Actualizar columna activa a 1";
}más{
echo "Clave no encontrada en la base de datos";
}
Usar la consulta ACTUALIZAR para actualizar la columna activa.
PHP
$ usql = "UPDATE` login` SET activo = 1 WHERE id = $ id ";
$ ures = mysqli_query ($ conexión, $ usql);
if ($ ures) {
echo "Cuenta activada";
}más{
echo "no se pudo activar la cuenta";
}
Código completo de script de verificación de correo electrónico
Si tiene algún problema para organizar las piezas de código anteriores, puede usar este código completo.
0 Comentarios