Hola,
Por favor adopta la costumbre de indentar el código ya que de lo contrario es difícil seguir el funcionamiento. En esta ocasión lo he indentado yo mismo.
En cuanto a la pregunta; tal como indica el mensaje de error, no puedes usar
header() cuando ya se han mandado datos al navegador.
En este caso, la línea
manda el carater "\n" lo que impide el uso de headers. De hecho no entiendo para qué quieres este
echo ni el
while anterior.
Incluso el espacio que dejas antes de la etiqueta de apertura de php (aunque podría tratarse de un error al pegar aquí el código) impedirá el envío de headers.
// Saludos