За последние 24 часа нас посетили 59339 программистов и 1831 робот. Сейчас ищут 1024 программиста ...

header(); после вывода html

Тема в разделе "Прочие вопросы по PHP", создана пользователем Hight, 5 ноя 2007.

  1. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    файл test_inc.php
    PHP:
    1. <?php error_reporting(E_ALL);
    2.  
    3. # Код
    4.  
    5. ?>
    6. <html>
    7.  
    8. <head>
    9.   <title>Тест 'header' после 'include'</title>
    10. </head>
    11.  
    12. <body>
    13. <?php
    14.  
    15. include'inc.php';
    16.  
    17. ?>
    18. </body>
    19.  
    20. </html>
    файл inc.php
    PHP:
    1. <?php
    2.  
    3. if(!isset($_GET['id'])) header('location:inc_test.php?id=true');
    4.  
    5. ?>
    Запускаю test_inc.php. Работает. Почему? :)
     
  2. +Sten+

    +Sten+ Активный пользователь

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    На денвере с пхп4 не работает, на собственноручном сервере с пхп5 работает. Давно уже заметил такую фишку :). Наверно, дело в настройках.
     
  3. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    в php.ini включена буферизация выходного потока.
     
  4. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    А что, не должно работать?
     
  5. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Вобще должно ругаться на то, что Headers already send.
     
  6. +Sten+

    +Sten+ Активный пользователь

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    http://www.phpfaq.ru/headers

    забавно, ничего не сказано про
    новичкам предлагают только одно решение проблемы: выводить хедер до текста :).
     
  7. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Библия такое запрещает :)
     
  8. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Если в настройках не стоит что-то типа
    Код (Text):
    1. output_buffering = 4096
     
  9. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    AlexGousev
    Надо будет дома на фришке посмотреть, что там по умолчанию стоит, а то меня сей факт сегодня удивил на винде.

    Слушай, а ты же линуксовый пользователь, посмотри, что у тебя по умолчанию там стоит?!
     
  10. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Ладно, всё уже переделали :) успели заметить косяк ... Это всё Принцип KISS. Привыкли через шаблонизатор html выводить вот и напоролись :)
     
  11. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    output_buffering = Off
    PHP Version 5.2.0-8+etch7
     
  12. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    AlexGousev
    угу, спасибо.