allora nella if ti consiglio di mettere $_SESSION['first_name'] al posto di $first_name poiche si possono generare degli errori nell'uso delle variabili con le register_globals,
poi se provi a fare un var_dump della var vedi che è null quindi x php non è vuota, sostituisci empty() con isset() che verifica se la variabile esiste.

poi puoi anche fare un controllo se è vuota ma l'isset ci va x forza sennò ti darà sempre true,
ce nn hai capito qualcosa, sono qui disponibile