No me termina de quedar claro cual es tu problema la verdad o si te da algún error en concreto.
Lo que si veo que haces mal el uso de header.
Del manual
Cita: Recuerde que header() debe ser llamado antes de mostrar nada por pantalla, etiquetas HTML, líneas en blanco desde un fichero o desde PHP. Es un error muy común leer código con funciones como include o require, u otro tipo de funciones de acceso de ficheros que incluyen espacios o líneas en blanco que se muestran antes de llamar a la función header(). Sucede el mismo problema cuando se utiliza un solo fichero PHP/HTML.
No puedes hacer lo siguiente como ocurre en tu código.
Por lo tanto primero deberás determinar que cabecera ( header ) tienes que utilizar, y luego mostrar todo lo demás.