Buenas a todos. Tengo un pequeño formulario para recuperar un pass olvidado. Está hecho en php de forma que toma una variable(en este caso el correo del usuario) y la comprueba en una base de datos para más tarde enviar a un correo con el resto de datos. Es bastante sencilla, pero aun así no consigo ver el fallo. Pongo los códigos para ver quien es el erudito que descubre el fallo. Ahí van:
El formulario llamado
recuperacion.php Código HTML:
<html>
<head>
<title>Recuperar contraseña</title>
<style type="text/css">
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
<body>
<h1 class="Estilo8">Recuperar contraseña </h1>
<form action="recuperandopass.php" method="POST">
<table align="left" width="225" cellspacing="2" cellpadding="2" border="0">
<tr>
<td colspan="2" align="center"
<?if ($_GET["errorusuario"]=="si"){?>
bgcolor=red><p><span style="color:ffffff"><b>Datos incorrectos</b></span></p>
<p><span class="Estilo1">El dato es incorrecto .</span><?}else{?>
bgcolor=#cccccc>Introduce tu clave de acceso</p>
<p><span class="Estilo1"> Si no está registado vaya a <span class="Estilo10">Registrarse</span></span></p> <?}?></td>
</tr>
<tr>
<td width="61" align="right"><div align="left"><span class="Estilo9">Mail:</span></div></td>
<td width="150"><div align="right">
<input type="Text" name="mail" size="25" maxlength="50">
</div></td>
</tr>
<tr>
<td colspan="2" align="center">
<div align="center">
<input type="Submit" value="COMPROBAR">
</div></td></tr>
<tr>
<td colspan="2" align="center"><div align="center"><span class="Estilo3"><a href="registro.php">Registrarse</a></span></div></td>
</tr>
</table>
</form>
</body>
</html>
el archivo que procesa la variable del formulario y hace la consulta es
recuperandopass.php Código PHP:
<?php
// Este fichero recibe y procesa los datos del formulario de recuperacion de contraseña
// en el que se escriben usuario y email
// recogemos las variables enviadas por el formulario
$mail=$_POST['mail_usuario'];
//conecto con la base de datos
$conn = mysql_connect("localhost","++++","++++");
//selecciono la BBDD
mysql_select_db("aerotechdb",$conn);
// Consultamos si existe $nombre_usuario + $mail_usuario
$res=mysql_query("SELECT mail_usuario FROM mi_db WHERE mail_usuario='$mail'");
if (mysql_num_rows($res)==0) {
// Si no existe, datos incorrectos y fin del proceso y volvemos al formulario de recuperacion
header("Location: recuperacion.php?errorusuario=si");
}
else {
// Si existe, buscamos en la bd
$res=mysql_query("SELECT mail_usuario FROM mi_db WHERE mail_usuario='$mail'");
$row=mysql_fetch_assoc($res);
$contrasena=$row['clave_usuario'];
header ("Location: .../graciasrecuperacion.php");
// enviamos el email de recuperacion
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
mail($mail, "Recuperación de password", "Sus datos en +++ son Nombre: $usuario, Contraseña: $contrasena. Muchas gracias por la consulta.", $headers);
}
?>