Как перенаправить, если отправлен заголовок?

Я использую wordpress и, к сожалению, мне приходится работать за бэкэндом. Мне нужно напечатать сообщение о действии пользователя во время отправки заголовка CMS.

Есть ли альтернатива, чем использование javascript? Я предпочитаю PHP-решение.

echo '<script type="text/javascript">/* <![CDATA[ */'; echo 'window.location.href = "'. $redirect_url . '";'; echo '/* ]]> */</script>'; 

Вы можете передать сообщение, используя строку запроса:

 header('location: index.php?msg=1');exit; 

И используйте swich для отображения сообщения на основе значения строки запроса msg var:

 switch($_GET['msg']) { case: 1; // do foo case: 2; // do bar case else : ; // ooops } 

Вы не можете отменить отправку заголовка … но вы можете его буферизировать, что я и делал, когда задавал этот вопрос .

надеюсь, это поможет

Я предпочитаю:

1.) поместите config.php для загрузки вверху каждой страницы и поместите в нее ob_start

2.) поместите end_load.php для загрузки в конце каждой страницы и поместите ob_end в нее

этот способ не гарантирует, что выход не будет передан клиенту до конца обработки, и вы можете использовать перенаправление заголовка в любое время страницы.

Я не знаю недостатков этого. Может быть, кэширование имеет недостаток, но не уверен