Estoy realizando un foro.
Una de las paginas es la de recuperacion de contraseña. Para ello tengo programado este codigo. El caso es que siempre me dice que el usuario no existe, pero si ejecuto las setencia directamente en la cosola si que me devuelve los valores correctos. El usuario ingresado si que existe asi que deberia devolver los valores contraseña y email. Pero no se porque no lo hace
Código PHP:
Ver original<?php
include('acceso_db.php'); // incluímos los datos de acceso a la BD
if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos del formulario if(empty($_POST['usuario'])) {
echo "No ha ingresado el usuario. <a href='javascript:history.back();'>Reintentar</a>";
}else {
$usuario=($_POST['usuario']);
/*$usuario = mysql_real_escape_string($usuario);*/
$usuario = trim($usuario);
$sql = mysql_query("SELECT usuario, clave, email FROM usuarios WHERE usuario='".$usuario."'"); print($usuario);
$num_caracteres = "10"; // asignamos el número de caracteres que va a tener la nueva contraseña
$nueva_clave = substr(md5(rand()),0,$num_caracteres); // generamos una nueva contraseña de forma aleatoria $usuario = $row['usuario'];
$clave = $nueva_clave; // la nueva contraseña que se enviará por correo al usuario
$clave2 = md5($clave); // encriptamos la nueva contraseña para guardarla en la BD $email = $row['email'];
// actualizamos los datos (contraseña) del usuario que solicitó su contraseña
mysql_query("UPDATE usuarios SET clave='".$clave2."' WHERE usuario='".$usuario."'");
// Enviamos por email la nueva contraseña
$remite_nombre = ""; // Tu nombre o el de tu página
$remite_email = ""; // tu correo
$asunto = "Recuperación de contraseña"; // Asunto (se puede cambiar)
$mensaje = "Se ha generado una nueva contraseña para el usuario <strong>".$usuario."</strong>. La nueva contraseña es: <strong>".$clave."</strong>.";
$cabeceras = "From: ".$nombre." <".$email.">\r\n";
$cabeceras = $cabeceras."Mime-Version: 1.0\n";
$cabeceras = $cabeceras."Content-Type: text/html";
$enviar_email = mail($email,$asunto,$mensaje,$cabeceras); if($enviar_email) {
echo "La nueva contraseña ha sido enviada al email asociado al usuario ".$usuario.".";
}else {
echo "No se ha podido enviar el email. <a href='javascript:history.back();'>Reintentar</a>";
}
}else {
echo "El usuario <strong>".$usuario."</strong> no está registrado. <a href='javascript:history.back();'>Reintentar</a>";
}
}
}else {
?>
<form action="recuperar.php" method="post">
<label>Usuario:</label><br />
<input type="text" name="usuario" /><br />
<input type="submit" name="enviar" value="Enviar" />
</form>
<?php
}
?>