Enviar password olvidado al correo

Me pasaron un script para enviar al correo el usuario y contraseña de un registro pero solo me devuelve el usuario y la contraseña en blanco.
Pueden decirme que esta mal. E gustaría hacerlo como el que figura en esta página para recuperar contraseñas.
<?php
$usuario=$_POST['usuario'];
$email=$_POST['email'];
include "mysql.inc";
$con = mysql_connect($dbhost, $dbusername, $dbpass);
mysql_select_db($dbname);
$res=mysql_query("SELECT COUNT(*) FROM usuarios WHERE usuario='$usuario' AND email='$email'");
if (mysql_num_rows($res)==0) {
header("Location:index.html");
}
else {
$res=mysql_query("SELECT * FROM usuarios WHERE usuario='$usuario' AND email='$email'");
$row=mysql_fetch_assoc($res);
$password=$row['password'];
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
mail($email, "Recuperacion de datos", "Sus datos en nuestra web son usuario : $usuario y su password es: $password", $headers);
}
?>

1 Respuesta

Respuesta
1
Yo diría que el código es correcto.
¿Seguro qué en la BD el campo password tiene valor?
Si, de hecho la base la hice en mysql de 000webhost que tiene buen soporte al mismo, los campos los llene yo . pero a veces me devuelve resource id #8 .
Si alguien sabe de algún script que funcione y se pueda descargar se lo agradezc, . De hecho a este lo saque de aquí pero cuando no estaba registrado . ç
Saludos
Prueba a ejecutar el script en local. Tal y como yo lo veo, debe funcionar correctamente.
También me hace lo mismo, me manda a mi correo en este caso
Su usuario es : augusto y su password es (vacío) o a veces resource id #8, no se a que se refiere eso, pero no tira error, eso es lo extraño
Ok, antes de mandarte el mail, saca el resultado por pantalla. Olvidate del email de momento y haz que unicamente lo saque por pantalla con echos
Ahí le hice un echo y esto me muestra
Sus datos han sido enviados al correo [email protected] Resource id #8
Prueba con esto:
$res=mysql_query("SELECT password FROM usuarios WHERE usuario='$usuario' AND email='$email'");
$row = mysql_fetch_row($res);
echo $row[0];
Ok, lo probé me lo manda al mail y con echo me imprime esto
Sus datos en nuestra web son usuario : augusto y su password es: Resource id#8
lo mismo, como si no hubiera nada. Ya no se más que hacer, te agradezco la respuesta pero tiene que haber una solución, sino no se como hacen en las páginas para enviar los password perdidos.
Con el código que te he dado, solo debe de mostrar el password, a priori, por favor, pruébalo tal cual a ver que sale por pantalla.
Aquí tienes otra solución:
http://stackoverflow.com/questions/1263922/how-can-i-resolve-the-resource-id-8-error-message-in-postgresql-php
Hola amigo probé los 2, el tuyo y el que figura en la página que me pasate y lo mismo de siempre, acá te lo mando modificaco para ver si esta bien, este es con el código que me pasate .
<?php
$usuario=$_POST['usuario'];
$email=$_POST['email'];
include "mysql.inc";
$con = mysql_connect($dbhost, $dbusername, $dbpass);
mysql_select_db($dbname);
$res=mysql_query("SELECT COUNT(*) FROM usuarios WHERE usuario='$usuario' AND email='$email'");
if (mysql_num_rows($res)==0) {
header("Location:index.html");
}
else {
//esto es lo que me pasaste
$res=mysql_query("SELECT password FROM usuarios WHERE usuario='$usuario' AND email='$email'");
$row = mysql_fetch_row($res);
echo $row[0];
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
mail($email, "Recuperacion de datos", "Sus datos en nuestra web son usuario : $usuario y su password es: $row[0] ", $headers);
echo "Sus datos han sido enviados al correo" , "$password", "$res" , "$row";
}
?>
Según lo indicado aquí:
http://forums.devshed.com/php-development-5/new-users--answers-to-frequently-asked-questions-25412.html
Podría ser un error de la base de datos. Te sugiero que crees la tabla de nuevo a ver si ahora no te da el fallo.
Hola amigo al final pude hacer que genere una nueva contraseña para el user y la grabe sobre la misma y que la envíe al correo pero engo la duda todavía como la recuperan en páginas con php . Saludos y mil gracias por responderme
Eso seria otra pregunta, ¿me podrías valorar esta para cerrarla?.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas