intanto aggiungerei un bel

Codice PHP:
error_reporting(E_ALL); 
all'inizio dello script. Se ricevi warning o messaggi di errore inattesi hai già una traccia di cosa potrebbe essere andato storto.