Задать вопрос
@nika_fox

Ошибка: Cannot modify headers information — headers already sent. Почему php ругается на header и не открывает страницу?

<?php
 try {
  if (isset($_POST['add']))
  {
          
          $n = $_POST['name_t'];
          $d = $_POST['day_t'];
          $insertorder = mysqli_query($conn, "INSERT into teachers values (default, '$n', '$d')");
          if ($insertorder)
          {
            header("location: index.php");          
          }
    }
  }
    
  catch (Exception $e)
  {
    echo "Error";
  }
 ?>
  • Вопрос задан
  • 210 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 4
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Я подозреваю что редактор вставил BOM UTF8 ищите что это такое в гугле.

Лечится использованием редакторов которые не вставляют это в файл.

1eec53edad.jpg
Ответ написан
t-alexashka
@t-alexashka
Сразу пишу legacy код
У вас вылазят какие-то данные раньше чем устанавливаются заголовки. т.е. сначала должны ставиться все заголовки, а потом уже всякие echo. Попытка поставить заголовок после того как какая-то часть страницы уже готова к выводу - получите сообщение - headers already sent.

Попробуйте заменить header(...) на echo 123; и посмотрите будет ли у вас что-то выше этого 123 написано. Возможно warning какой-то, или часть шаблона.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Кодировка файла: UTF8 without BOM
2. Уберите весь вывод до установки всех заголовков.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽