Se stai usando le sessioni usa session_start() prima degli output
dell'html mettili in cima prima di ogni istruzione.
Gli errori non te li dava perché avevi impostato un livello degli errori troppo basso oppure @ sulle funzioni.
Usa error_reporting(E_ALL);
E vedi che cosa ti segnala.