Чтобы уточнить использование header () :
Официальное руководство по PHP :
header () используется для отправки необработанного HTTP-заголовка. См. Спецификацию HTTP / 1.1 для получения дополнительной информации о заголовках HTTP.
Помните, что header () должен вызываться перед отправкой любого фактического вывода, либо обычными тегами HTML, пустыми строками в файле, либо из PHP. Это очень распространенная ошибка при чтении кода с include () или require () , функциями или другой функцией доступа к файлу, с пробелами или пустыми строками, которые выводятся перед header () вызывается. Та же проблема существует при использовании одного файла PHP / HTML.
Так что, по сути, вы меняете всю страницу, когда используете header (). Убедитесь, что единственное содержимое, которое вы выводите, это строка.