Вы понимаете, почему это невозможно, верно?
Как только вы повторяете "что-то", вы отправляете контент клиенту, и как часть этого заголовка клиента уже отправлены.Вы не можете задним числом изменить заголовки, которые вы уже отправили, и вы не можете сделать два ответа на один HTTP-запрос.
ob_start()
и ob_end_flush()
будут буферизовать вывод вместо отправки его клиенту, чтопозволит вам обойти эту проблему, НО лучшее решение было бы:
отделить ваш логический код от шаблона, чтобы вы ничего не выводили на экран, пока не узнаете, что это не так.не буду перенаправлять.