Eso te dice que hay un error en la consulta:
$res=mysql_query("SELECT username,password FROM usuarios WHERE username='$username',password='$random'");
Pones:
username='$username',password='$random'
Debes poner AND.
username='$username' AND password='$random'
Cita: ¿ Este código os parece correcto ?
No, no se filtran las variables que provienen de formulario. Eso es un gran riesgo ya que tu sistema es vulnerable a ataques de Inyeccion SQL. Tambien, algo que veo extremadamente INNECESARIO es:
Código php:
Ver original$res=mysql_query("SELECT username FROM usuarios WHERE username='$username'");
// Si no existe, datos incorrectos y fin del proceso y volvemos al formulario de recuperacion
echo "Email no existe en la base de datos.";
}
else {
// Si existe, buscamos en la bd
$res=mysql_query("SELECT username,password FROM usuarios WHERE username='$username',password='$random'");
¿Para que hacer 2 consultas? Si la 2da te puede decir si hubieron resultados o no.
Declaras la variable $random despues de usarla en una consulta.
El codigo esta mal en cuanto a logica (MUY MAL).
Yo digo que lo rehagas desde 0, pero antes, tomes un lapiz y un papel y pienses bien la logica de tu aplicacion. Te aseguro que si lo haces duraras menos tiempo escribiendo codigo y debbugeando.