Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Warning: Cannot modify header information - headers already sent by
 
 автор: sl1p   (23.10.2008 в 02:57)   письмо автору
 
 

сижу плачу просто со смеха)

такая ситуация, таблица, 3 колонки, посредине форма(хотя х3 зачем я это говорю:).. вот.
по бокам таблицы(все они идентичны) такого рода:

<table border="0" align="center" cellpadding="0" cellspacing="0" class="m_tbl">
        <tr>
          <td><img src="img/m_top_left.gif" width="11" height="20"></td>
          <td width="100%" align="center" background="img/m_top_bg.gif" class="tdnames">name</td>
          <td><img src="img/m_top_right.gif" width="11" height="20"></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td background="img/m_c_all_bg.gif" id="m_center_block"><div id="m_center_block_top" class="m_tbl_c">
          txt
            </div></td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td background="img/m_foot_bg.gif">&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
      </table>


всего их 4 по 2 с каждой стороны.
и вот суть проблемы, при отправке формы сетятся куки и осуществляется редирект.
если сбоку не убрать 2 таблицы даёт ошибку о том что хидеры уже отосланы.
Warning: Cannot modify header information - headers already sent by (output started at C:\хх:149) in C:\хх on line 35

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

  Ответить  
 
 автор: cheops   (27.10.2008 в 11:33)   письмо автору
 
   для: sl1p   (23.10.2008 в 02:57)
 

Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.
http://www.softtime.ru/group/id_group=12
http://www.softtime.ru/forum/ead.php?id_forum=1&id_theme=147
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148
Вы можете также включить буфферизацию, если имеете доступ к конфигурационному файлу php.ini
output_buffering = On  

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=8484

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования