Ti ripeto, non hai 2 form, hai 1 form con 2 campi.

Qui hai un problema
if ( ! isset( $_POST['user']) && ($_POST['pwd']))

isset() controlla solo $_POST['user'], $_POST['pwd'] non è passato alla funzione isset(), sta solo tra parentesi, cosa che non ha alcun effetto.
La condizione come l'hai scritta vuol dire: se $_POST['user'] non è settato e $_POST['pwd'] != false

$_POST['pwd'] da solo equivale a controllare se è diverso da false perché qualsiasi valore che non sia false in una condizione if è considerato true, se però è null ti da errore ed è null se il campo del form relativo viene lasciato vuoto.
Quindi
if ( ! isset($_POST['user']) && ! isset($_POST['pwd']) )