Non sò se ho ben capito... ma praticamente tu su login puoi andarci o una prima volta per compilare il form o essere reindirizzato li per ricompilare il form (e visuallizre il messaggio d'errore) giusto? Se è cosi potresti verificare che login.php riceva ad esempio come querystring "?type=error". Se è presente mostri sia il form sia un messaggio d'errore... se non è presente mostri solo il form. Ho capito bene?