Hallo,
nach bissl rumüberlegen hab ich's glaub ich.
Der kleine Denkfehler:
$abfrage = "SELECT * FROM login WHERE username = '$user'";
Wenn der $user (ist ja wohl die Eingabe) falsch ist, dann ist das Resultat der Anfrage leer. Folglich läuft Deine whileschleife gar nicht an.
Grüße aus Würzburg
Julian