Hai mai letto questa pagina ?
http://it.php.net/manual/it/function.header.php
Secondo me no, per cui ti consiglio di farlo, soffermandoti su questo parte (e seguenti)
Bisogna ricordare che la funzioneheader() va chiamata prima di qualsiasi output HTML o PHP (anche righe o spazi vuoti). E' un errore comune leggere files con funzioni include(), o require() (o altre funzioni capaci di accedere a files), che possano emettere in output spazi o linee vuote prima di una chiamata della funzione header(). Lo stesso problema esiste nell'utilizzare file PHP/HTML.