PHP - Cómo enviar registro de mysql por correo de formulario?

 
Vista:

Cómo enviar registro de mysql por correo de formulario?

Publicado por Suriel Carrasco (1 intervención) el 15/01/2020 06:29:56
Hola a todos, actualmente tengo un formulario de registro que consiste básicamente en 3 datos a llenar, nombre, apellidos y email, este ultimo envía un mensaje de confirmación con ayuda de la librería PHPMAILER pero ahora necesito que de otra tabla llamada "codigos" ( id_codigo y codigo) donde tengo almacenados códigos alfanuméricos, por cada registro envíe uno de estos códigos por correo electrónico al que se registró y así sucesivamente.

Un mismo código no se puede enviar a diferentes emails registros, así que entiendo que debo jalar de la tabla código de algún modo, pero cómo? y cómo puedo hacer para que estos vayan brincándose para que no se repitan, como si fuese un array.


Espero su gran ayuda, esto es lo que llevo funcional:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
include("con_db.php");
if (isset($_POST['register'])) {
	if (strlen($_POST['name']) >= 1 && strlen($_POST['email']) >= 1) {
		$name = trim($_POST['name']);
		$apellidos = trim($_POST['apellidos']);
		$email = trim($_POST['email']);
		$fechareg = date("d/m/y");
		$consulta = "INSERT INTO datos(nombre, apellidos, email, fecha_reg) VALUES ('$name','$apellidos','$email','$fechareg')";
		$resultado = mysqli_query($conex,$consulta);
		if ($resultado) {
			?>
			<h3 class="ok">¡Te has inscrito correctamente!</h3>
			<?php
			require_once("PHPMailer-5.2.11/PHPMailerAutoload.php");
 
			$mail = new PHPMailer;
			$mail->isSMTP();
			$mail->CharSet = 'UTF-8';
			$mail->SMTPDebug = 0;
			$mail->Host = 'smtp.office365.com';
			$mail->Port = 587;
			$mail->SMTPSecure = 'tls';
			$mail->SMTPAuth = true;
 
			$mail->Username = "myemail@.com";
			$mail->Password = "psw";
			$mail->setFrom('myemail@.com', 'Registro al sistema');
			$mail->addAddress($email, $name, $apellidos);
			$mail->Subject = 'Registro al sistema '.$name." ".$apellidos;
			$mail->Body = 'BIENVENID@ ' .$name." ".$apellidos."\n\n"
			.'Felicidades te has registrado a Knowlearn y hemos decidido darte un bonito código de descuento. '."\n\n"; <----------- Aquí se adjuntaría la variable del código jalado de la tabla de mysql
		} else {
			?>
			<h3 class="bad">¡Ups ha ocurrido un error!</h3>
			<?php
		}
	}   else {
		?>
		<h3 class="bad">¡Por favor complete los campos!</h3>
		<?php
	}
}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Cómo enviar registro de mysql por correo de formulario?

Publicado por anonymous (53 intervenciones) el 16/01/2020 00:50:55
No explicas bien como estás generando los códigos alfanuméricos, pero me supongo que tu tabla de codigos debe tener un Primary Key, que es el id_codigo que debe ser un autonumérico que incrementa la propia BD, y el codigo debería estar definido como Unique en la misma tabla, para garantizar que no se repita, y cada vez que se requiera enviar un correo pues se genera un nuevo código y se le manda ese último.

Ya el envío del correo lo haces de la misma forma que lo vienes haciendo con PHPMailer, sobre el mismo correo que registre el usuario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar