Не удается перенаправить на другую страницу в конце сценария PHP - PullRequest
2 голосов
/ 16 ноября 2011

Бот этих строк:

echo '<br/><br/>'.$_SERVER["SCRIPT_NAME"]."?page=".$pager->GetVariableC."&threadID=".$threadID;
header("Location:".$_SERVER["SCRIPT_NAME"]."?page=".$pager->GetVariableC."&threadID=".$threadID);

Дайте мне это:

/ PoliticalForum / Тема / thread.php? Страница = 2 & ThreadId = 6 Предупреждение: невозможно изменить информацию заголовка - заголовки, уже отправленные (вывод начался с C: \ xampp \ htdocs \ PolitForum \ Thread \ comments.php: 42) в C: \ xampp \ htdocs \ politForum \ Thread \ thread.php в строке 348

Как мне перенаправить в конец скрипта?

Ответы [ 4 ]

3 голосов
/ 16 ноября 2011

Когда возникает эта ошибка, вы уже отправили что-то в браузер, используя echo или добавив пару новых строк после закрывающего тега php. Перед перенаправлением не должно быть никаких новых строк или чего-то повторяющегося.

1 голос
/ 16 ноября 2011

Нельзя перенаправить после отправки вывода в браузер клиента с помощью PHP header().

. Вы можете использовать тег meta:

<meta http-equiv="refresh" content="2;url=http://www.destination.com/"> 
* 1007.* Где 2 - время до переадресации в секундах, а url - пункт назначения.Вы можете найти больше информации об этом здесь (вы должны прочитать раздел недостатки ).
0 голосов
/ 16 ноября 2011

Если вы хотите вывод и перенаправление, вам нужно использовать перенаправление javascript. http://www.tizag.com/javascriptT/javascriptredirect.php То, что вы здесь делаете, называется перенаправлением HTTP (HTTP 302), который является одним из заголовков HTTP, отправляемых браузеру в качестве ответа. Это сообщение об ошибке связано с тем, что вы отображаете содержимое, которое приводит к отправке всех буферизованных заголовков HTTP, а затем пытаетесь установить заголовок (но он уже был отправлен). Чтобы получить более полное представление об этом, я рекомендую всем веб-разработчикам установить Firebug и следить за вкладкой «Сеть», вы действительно лучше разберетесь в заголовках и их значениях.

Приветствия

0 голосов
/ 16 ноября 2011

Нельзя перенаправить после того, как вы уже отправили какие-либо данные в браузер, в этом случае первая строка делает это. Почему вы пытаетесь напечатать что-то, что вы никогда не увидите (браузер будет сразу же перенаправлен)?

Либо удалите выходные строки над перенаправлением, если это возможно, либо изучите использование выходных буферов, если вы не можете изменить окружающий код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...