devi usere l'output buffering
ob_start(); // a inizio pagina ha priorità appena inferiore a session_start();
e a fine pagina o quando vuoi buttare fuori l'output
ob_flush();
altrimenti automaticamente a fine pagina viene fattoil flush dell'intero codice e tutti gli header mandati in contemporanea senza problemi di precedenze..
ciaocia