Проблема с HEADER("Location:.....

Статус
Закрыто для дальнейших ответов.

RoamingFire

Well-Known Member
Регистрация
04.01.2008
Сообщения
145
Есть скрипт, при определенном условии он должен отправить пользователя на 404.html. Вот этот кусок кода:
Код:
	if ($page>$numpages-1 || $page<0 || !is_numeric($page))
	{
	  HEADER("Location: 404.html");
	}
скрипт лежит в той-же категории что и 404.html, только вот когда выполняется это условие выдается такая вот ошибка:
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\myscripts\www\rsgb\index.php:9) in Z:\home\myscripts\www\rsgb\index.php on line 49
В чем дело? Помогите пожалуйста? Заранее благодарен!
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
В вашем случае очень очивидная проблема! Заголовки должны быть переданы до формирования документа!, то есть до вывода BODY или команд echo и ей подобных! Канечно есть функция кэширования ob_start, но я вам её не советую, выводит содержимое вбраузер позже, тормозится работа!
Лучше перенесите эту часть кода в самыую верхную часть документа!

Кстати, если перевести дословно, всё понятно должно быть...
Вминамине: Не могу модифицировать заголовок информации - заголовки уже переданы
 

RoamingFire

Well-Known Member
Регистрация
04.01.2008
Сообщения
145
А нет какого-то другово способа перенести пользователя на ту страницу. просто если мне этот код помещать вверх, то мне весь скрипт переписывать. А это 230 строк..
 

RoamingFire

Well-Known Member
Регистрация
04.01.2008
Сообщения
145
Просто у меня там куча вложенных условий...
 

ZitosS_32

Совесть
Регистрация
12.03.2006
Сообщения
852
Я же вам сказал! ob_start() в начало файла! Но не советую, лучше всё вынести за формирование страницы
 
Статус
Закрыто для дальнейших ответов.
Верх Низ