Консультация № 53714
29.08.2006, 22:46
0.00 руб.
0 5 5
Здравствуйте.
Я пытаюсь воспользоваться функцией header, но вылезает такая ошибка. А вобще мне нужно организовать такую вещь: чтоб через 10 сек после выполнения скрипта посетитель попадал на определённую страницу.
Спасибо!

Приложение:
Warning: Cannot modify header information - headers already sent by (output started at D:\Anton\PHP\Game\registration.php:30) in D:\Anton\PHP\Game\registration.php on line 152

Обсуждение

Неизвестный
29.08.2006, 22:59
общий
это ответ
Здравствуйте, Tossha!
Эта ошибка возникла из-за того, что перед вызовом ф-ции header() в браузер был послан текст.
Лучше сделать через мета-тэги:
<Meta http-equiv="refresh" content="10 url=http://site.com/1.html">
Неизвестный
29.08.2006, 23:05
общий
это ответ
Здравствуйте, Tossha!
Вы не должны выводить что-либо (т.е. echo, print, ...) до выполнения header(). Это и вызывает ошибку.
header() обязана вызываться до отправки любого вывода: нормальными ли тэгами HTML, пустыми строками в файле, или из PHP.
Удачи!
Неизвестный
29.08.2006, 23:07
общий
это ответ
Здравствуйте, Tossha!

header нужно вызывать перед выводом текста, или пользоваться функциями: ob_start(), ob_end_flush(); ob_start перенаправляет вывод в буффер, а end_flush передает его содержимое клиенту.



Приложение:
<?ob_start();echo ....echo....echo....header(..);ob_end_flush();?>
Неизвестный
30.08.2006, 00:58
общий
это ответ
Здравствуйте, Tossha!
Данный скрипт переадресует пользователя на нужную страницу через 10 секунд

language="javascript" type="text/javascript">
<!--
setTimeout("location.href=‘адрес страницы‘",10000);
-->
</script>

или можно воспользоваться мета тегами

<Meta http-equiv="refresh" content="10 url=http://адрес страницы">
Неизвестный
30.08.2006, 02:15
общий
это ответ
Здравствуйте, Tossha!
Функция header отправляет заголовки. Заголовки дожны быть отправлены до любого вывода. Это ограничение можно обойти с помощью функции буферизации вывода ob_start. Но лучше будет пересмотреть свой скрипт и отправлять заголовки как и положено в начале.

С уважением,
  <em><strong>Strory</strong></em>.
Форма ответа