Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/03/2008, 20:54
Avatar de EmaD
EmaD
 
Fecha de Ingreso: marzo-2008
Mensajes: 93
Antigüedad: 16 años, 1 mes
Puntos: 2
Re: Link recuperar contrtaseña?

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 substrmd5(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.

Última edición por EmaD; 24/03/2008 a las 21:27