ob_start();

all'inizio della pagina (appena dopo session_start() )

e ob_flush();

dopo la funzione header!

si tratta di output buffering, ovvero il php manda tutto l'output contemporaneamente alla fine della pagina o all'istruzione ob_flush(); e non ti fa problemi coi reinidirizzamenti


ciao!