Les dejo por si alguien lo necesita , comprueba si existe el usuario sino da error , si existe genera un password aleatorio de 8 digitos , actualiza el campo password del usuario y envia unmail con los 2 datos.
mmm Tengo el problema que no me comprueba si exist eo no el usuario con el correo.
Alguna ayuda?
Código PHP:
<?
$dbhost="localhost";
$dbuser="************";
$dbpass="************";
$db="*********";
$logitud = 8;
$nuevo_pass = substr( md5(microtime()), 1, $logitud);
// 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
$nombreusuario=$_POST['user'];
$emailusuario=$_POST['email'];
// Conectamos a la base de datos
// Las variables de conexion se suelen poner en un fichero de configuracion que se incluye
$con = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($db);
// Consultamos si existe $nombreusuario + $emailusuario
$res=mysql_query("SELECT COUNT(*) FROM paws_users WHERE pseudo='".$nombreusuario."' AND email='".$emailusuario."'");
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");
echo "No existe el usuario o email";
}
else {
// Si existe, buscamos en la bd
mysql_query("update paws_users
set pass_crypt = '".md5($nuevo_pass)."'
where pseudo = '".$nombreusuario."' AND email='".$emailusuario."'");
echo "Se a enviado un correo con sus datos. Asegurese de cambiar su contraseña la proxima vez que ingrese";
// enviamos el email de recuperacion
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//dirección del remitente
$headers .= 'From: Clave Radiometal <[email protected]>' . "\r\n";
//dirección de respuesta, si queremos que sea distinta que la del remitente
$headers .= "Reply-To: [email protected]\r\n";
mail($emailusuario, "Recuperación Clave Radiometal", "Sus datos en nuestra web son <br> Usuario:$nombreusuario, Password:$nuevo_pass <br>Puede cambiar su contraseña desde su perfil", $headers);
}
?>
el error esta aca
if (@mysql_num_rows($res)==0) {
no me comprueba si son correctos los datos siempre me muestra
Se a enviado un correo con sus datos. Asegurese de cambiar su contraseña la proxima vez que ingrese
Salu2 Gracias por la ayuda.