hola River, mira he cambiado lo que tu me has dicho y he comprobado los nombre y los parámetros del campo del formulario.
Mira aquí te dejo el código completo ya arreglado:
Código PHP:
Ver original<?php
include('config.php'); // incluímos los datos de acceso a la BD
if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos del formulario if(isset($_POST['username'])) { echo "No ha ingresado el usuario. <a href='javascript:history.back();'>Reintentar</a>";
}else {
$username = trim($username); $sql = mysql_query("SELECT username, password, email FROM usuarios WHERE username='".$username."'"); $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 $username = $row['username'];
$password = $nueva_clave; // la nueva contraseña que se enviará por correo al usuario
$password2 = md5($password); // 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 password='".$password2."' WHERE username='".$username."'"); // Enviamos por email la nueva contraseña
$remite_nombre = "Tu cuenta, Página de Navidad"; // Tu nombre o el de tu página
$asunto = "Recuperación de contraseña"; // Asunto (se puede cambiar)
$mensaje = "Se ha generado una nueva contraseña para el usuario <strong>".$username."</strong>. La nueva contraseña es: <strong>".$password."</strong>.";
$cabeceras = "From: ".$remite_nombre." <".$remite_correo.">rn";
$cabeceras = $cabeceras."Mime-Version: 1.0n";
$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 ".$username.".";
}else {
echo "No se ha podido enviar el email. <a href='javascript:history.back();'>Reintentar</a>";
}
}else {
echo "El usuario <strong>".$username."</strong> no está registrado. <a href='javascript:history.back();'>Reintentar</a>";
}
}
}else {
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<fieldset><ul><li><label for="usuario">Usuario</label>
<input class="input" type="text" id="username" name="username" value""></li>
<li class="buttons">
<input type="submit" id="submit_button" class="submit" name="enviar" value="Recuperar"></li></ul></fieldset></form>
<?php
}
?>
Yo no entiendo cual es el error... siempre me da el primer error del comando: No ha ingresado usuario.