tambien tengo un formulario de recuperacion de contrasena,
cuando coloco el nombre de usuario y el email si los manda pero el problema es que si le pongo el nombre de usuario y otro que no sea el email con el que se registro de todos modos manda los datos usuario y contrasena al correo que sea. y si coloco un nombre de usuario que no exista nada mas se queda cargando la pagina como si fuera a enviar el mensaje no marca ninguna clase de error o advertencia de que no esta registrado
coloco el script haber si me pueden ayudar
Código PHP :
<?php 
// recogemos las variables enviadas por el formulario 
$username=$_POST['username']; 
$email=$_POST['email']; 
// Conectamos a la base de datos 
$dbhost='localhost';
$dbusername='------';
$dbuserpass='------';
$dbname='------';
// Conectar a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');
// Consultamos si existe $nombreusuario + $emailusuario 
$res=mysql_query("SELECT username,password FROM usuarios WHERE username = '$username'"); 
if (mysql_num_rows($res)==0) { 
// Si no existe, datos incorrectos y fin del proceso y volvemos al formulario de recuperacion 
header("Location:formulario.php"); 
} 
else { 
// Si existe, buscamos en la bd 
$res=mysql_query("SELECT username,password FROM usuarios WHERE username = '$username'"); 
$row=mysql_fetch_assoc($res); 
$password=$row['password']; 
// enviamos el email de recuperacion 
$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
mail($email, "Recuperación de usuario y contraseña", "Sus datos en nuestra Base de datos  son <p><ul><li>$username</li></ul><ul><li>$password</li></ul></p>", $headers); 
} 
?> 					