|
|
|
| У меня такая проблема. В скрипте есть функция include, которая включает другой скрипт, в котором в свою очередь есть функция header("Location: http://127.0.0.1/index.php"); Проблема в том, что страница не переадресовывается, пишет:
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\index.php:17) in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\login.php on line 21
Можно ли это как-нибудь исправить, и как? | |
|
|
|
|
|
|
|
для: Faatt
(28.12.2009 в 16:52)
| | ob_start() и так далее | |
|
|
|
|
|
|
|
для: Николай2357
(28.12.2009 в 16:58)
| | Стесняюсь спросить, и что мне с этим делать? Прочёл оф. документацию - ничего не понял. | |
|
|
|
|
|
|
|
для: Faatt
(28.12.2009 в 19:28)
| | В начале скрипта написать:
Потом всякие инклюды-минклюды, потом в конце:
<?
$buffer = ob_get_contents();
ob_end_clean();
echo $buffer;
|
| |
|
|
|
|
|
|
|
для: Николай2357
(28.12.2009 в 19:37)
| | Спасибо огромное, всё заработало. | |
|
|
|
|
|
|
|
для: Faatt
(28.12.2009 в 16:52)
| | Сообщение, выданное скриптом означает:
невозможно изменить информацию, отправленную в заголовках - они уже посланы (и т.д.)
| Короче говоря, если в каком-нибудь скрипте был вывод в браузер (стоит вывести даже ), то попытка послать заголовок приведет именно к такому предупреждению. То есть, нужно либо буферизировать вывод в браузер (ob_start();), либо контролировать, где начинается вывод в браузер. | |
|
|
|