Ответы пользователя по тегу Заголовки HTTP
  • Как правильно структурировать документ, чтобы избежать "Cannot modify header information - headers already sent by"?

    zenaku
    @zenaku
    Еще пару важных замечаний:
    1. php код должен начинаться с самой первой строчки документа
    Правильно:
    1 <?php
    2 header('...');
    ...

    Неправильно:
    1 
    2 <?php
    3 header('...');
    ...

    Это связано с тем, что пустая строка будет уже выводится, а следовательно и заголовки будут отправлены
    2. Смотрите то, что инклюдите. Если том будет первая пустая строка или будет производится вывод - заголовки отправятся.
    3. Если файлы инклюда состоят только из php, то не используйте ?>
    Правильно:
    1 <?php
    2 header('...');
    ...   ...
    455 $a = 4;
    456
    457
    ---------------
    конец документа

    Неправильно:
    1 <?php
    2 header('...');
    ...   ...
    455 $a = 4;
    456 ?>
    457
    ---------------
    конец документа

    Причина в том, что после ?> может быть символы, а значит будет отправлена строка

    И вообще, старайтесь структурировать данные так, чтобы было ясно что и где. А лучше вообще html отдельно от php
    Ответ написан
    1 комментарий