Estoy intentado hacer un se me olvido la contraseña y tengo algunas dudas.
Tengo una página con un formulario en el cual hay solo un campo que es el email del usuario que quiere cambiar su contraseña. Este formulario en el action lo dirige a otra página en la cual se valida si existe el email en la base de datos y si es así, envia un correos con el enlace a otra pagina de mi web en la que existe un formulario de update de su contraseña.
Mis dudas es en el envío del email con la variable $mensaje
Código PHP:
// Enviamos por email el enlace para el cambio de contraseña
$remite_nombre = "La Palma News TV"; // Tu nombre o el de tu página
$remite_email = "[email protected]"; // tu correo
$asunto = "Cambio de contraseña"; // Asunto
$mensaje = "Pincha en el siguiente enlace para cambiar tu contraseña: /n";
$mensaje.="";
$cabeceras = "From: ".$remite_nombre." <".$remite_email.">\r\n";
$cabeceras = $cabeceras."Mime-Version: 1.0\n";
$cabeceras = $cabeceras."Content-Type: text/html";
$enviar_email = mail($varEmail_ConsultaUsuarios,$asunto,$mensaje,$cabeceras);
El enlace es: http://www.midominio.com/nuevo_password.php
Ademas en ese enlace debo pasarle el id del usuario: <?php echo $row_ConsultaUsuarios['id_usuario']; ?>
Es decir, en html el enlace debe quedar de esta forma:
<a href="http://www.midominio.com/nuevo_password.php?recordID=<?php echo $row_ConsultaUsuarios['id_usuario']; ?>">ENLACE</a>
No se si me he explicado bien pero es meter el enlace anterior en el mensaje.
El codigo completo de mail_password.php es el siguiente:
Código PHP:
<?php
$varEmail_ConsultaUsuarios = "0";
//$_POST["email"] viene del formulario, uso para validar email y no nombre usuario o nick
if (isset($_POST["email"])) {
$varEmail_ConsultaUsuarios = $_POST["email"];
}
mysql_select_db($database_conex_db_teldetv, $conex_db_teldetv);
$query_ConsultaUsuarios = sprintf("SELECT * FROM tbl_usuarios WHERE tbl_usuarios.email = %s", GetSQLValueString($varEmail_ConsultaUsuarios, "int"));
$ConsultaUsuarios = mysql_query($query_ConsultaUsuarios, $conex_db_teldetv) or die(mysql_error());
$row_ConsultaUsuarios = mysql_fetch_assoc($ConsultaUsuarios);
$totalRows_ConsultaUsuarios = mysql_num_rows($ConsultaUsuarios);
if ($row_ConsultaUsuarios["email"] == $varEmail_ConsultaUsuarios) {
// Enviamos por email el enlace para el cambio de contraseña
$remite_nombre = "Telde TV"; // Tu nombre o el de tu página
$remite_email = "[email protected]"; // tu correo
$asunto = "Cambio de contraseña"; // Asunto
$mensaje = "Pincha en el siguiente enlace para cambiar tu contraseña: /n";
$mensaje.='';
$cabeceras = "From: ".$remite_nombre." <".$remite_email.">\r\n";
$cabeceras = $cabeceras."Mime-Version: 1.0\n";
$cabeceras = $cabeceras."Content-Type: text/html";
$enviar_email = mail($varEmail_ConsultaUsuarios,$asunto,$mensaje,$cabeceras);
?>
<div class="login_form_frontend">
<div align="center"><br>
<img src="images/barrado_verde.png" width="26" height="23"> <span class="verde_mediano"><strong>Se ha enviado a tu email un enlaces para poder cambiar tu contraseña.</strong></span></br>
</br>
</div>
</div>
<?php }else{ ?>
<div class="login_form_frontend">
<div align="center"><br>
<span class="rojo"><strong>El email que has usado no existe en nuestra base de datos.</strong></br>
<strong>Inténtalo de nuevo en este enlace:</strong></span><strong> <a href="solicitar_cambiar_password.php">REINTENTAR</a></strong><br>
</br>
</div>
</div>
<?php } ?>
Muchísimas gracias de antemano: Manyblue