Если вы получаете уже отправленные заголовки, это означает, что вы пытались перенаправить с помощью перенаправления PHP header (), и у вас был вывод на экран перед вызовом функции header (), решение 1 - использовать PHP-вывод Буферизация, которая затем позволит вам вызвать перенаправление header () в любом месте страницы и не получить эту ошибку.
Чтобы показать сообщение, вы можете использовать мета-метод, упомянутый в некоторых других ответах, возможно, даже добавить к нему редирект javascript, просто чтобы быть в безопасности, однако, как я это сделаю, будет что-то вроде этого ниже
<?PHP
ob_start();
//show a message
echo 'You will be redirected in 10 seconds';
//amount of time to show the message above before redirecting
sleep(200);
//redirect
header('http://domain.com');
?>
Я не проверял это, но вы должны понять, на самом деле, теперь, когда я думаю об этом, sleep () может работать некорректно с ожидаемой буферизацией вывода