Ошибка PHP: не Может изменить информацию заголовка – заголовки, уже отправленные, [копируют]

  • Как 1800 INFORMATION сказал, постарайтесь не опрашивать; подпишитесь на события и ожидайте их для случая
  • содержание окна Update только, когда необходимый - позволяют системе решить, когда перерисовать его
  • При обновлении содержания окна, удостовериться, что код воссоздает как можно меньше недопустимого региона
  • С быстрым кодом, ЦП возвращается к режиму глубокого сна быстрее и существует лучший шанс, что такой код остается в кэше L1
  • , Воздействуют на маленькие данные когда-то, таким образом, данные остаются в кэшах также
  • , Гарантируют, что приложение не делает никакого ненужного действия, когда в фоне
  • Делают программное обеспечение не, только эффективное питание, но также и знающее питание - обновляют графику менее часто, когда на батарее, отключите анимации, меньше жесткого диска, перегружающегося
  • , И считайте некоторый другой инструкции .;)

    Недавно ряд сообщений, названных "Приложения оптимизации для Питания" , запущенный появиться на Блогах Intel Software. Может быть несколько полезным для x86 разработчиков.

11
задан Community 23 May 2017 в 12:33
поделиться

4 ответа

Вы не можете использовать header () после того, как текст был выведен в браузер. Поскольку ваш header.php включает предположительно вывод HTML, header () не может использоваться.

Вы можете решить эту проблему двумя способами:

  • Переместите оператор if над заголовок include (это не сработает, как вы указали в комментариях, что header.php устанавливает сеанс uid и другие важные вещи).
  • Вызов ob_start () в в верхней части скрипта для буферизации вывода.
32
ответ дан 3 December 2019 в 01:07
поделиться

Если файл header.php «имеет баннер», то он предположительно выводит на страницу некоторое HTML-содержимое.

Вы не можете выдавать заголовки HTTP после вывода содержимого.

6
ответ дан 3 December 2019 в 01:07
поделиться

Хорошо, так что это исправлено ...... не знаю как, но, может быть, кто-нибудь сможет объяснить, почему это вдруг сработало.

Это мой код:

include_once ("header.php");

if ($_SESSION['uid']!='programmer') {  
    if(isset($_SESSION['uid'])) {
        echo $_SESSION['uid'];
    }                           

    header('Location: index.php');
    exit;
}

Позвольте мне повторить, теперь все работает! PHP ... почему ты работаешь сейчас?

1
ответ дан 3 December 2019 в 01:07
поделиться

Вы не можете отправлять заголовки после отправки любого другого содержимого. Скорее всего, виноват лишний пробел после закрывающего тега ?> в вашем header.php. Обычно рекомендуется полностью опускать закрывающий тег в любых php-файлах, содержащих только скрипты.

Ваша ошибка должна указывать вам, какая именно строка (и какой файл) отправляет вывод.

6
ответ дан 3 December 2019 в 01:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: