Il problema non è tanto la struttura dewl codice, il problema nasce nel momento che:

Se effettua il login e tutto corretto
la sessione utente prende valore coem il nome dell'utente loggato
altrimenti non ha valore.

Io gli do valore dell'utente loggato ma dopo il refresh della pagina cambia nome...

E' quello il problema..