Я знаю, что этот вопрос задавался много раз, но я видел так много разных ответов и пробовал их все, и никто не работал на меня. Поэтому позвольте мне предоставить вам конкретный контекст и посмотреть, что вы рекомендуете:Не могу изменить заголовок Информация заголовки уже отправлены
Я развиваюсь на Mac OS X El Capitan. Я использую PHP версию 5.5.31. error message
У меня есть буферизация вывода, включенная в моем файле php.ini. Я навязчиво проверял, что перед отправкой заголовка нет пробела. Вот строки кода имеет в виду:
(edit_subject.php: 6)
<?php require_once("../includes/session.php");?>
<?php require_once("../includes/db_connection.php");?>
<?php require_once("../includes/functions.php");?>
<?php require_once("../includes/validation_functions.php");?>
<?php find_selected_page();?>
<?php
if(!$current_subject){
**redirect_to("manage_content.php")**;
}
?>
(edit_subject.php: 38)
$result = mysqli_query($connection, $query);
if ($result && mysqli_affected_rows($connection) >= 0) {
// Success
$_SESSION["message"] = "Subject edited succesfully.";
**redirect_to("Location: manage_content.php");**
} else {
// Failure
$message = "Subject update failed.";
}
(functions.php: 3)
<?php
function redirect_to($new_location) {
redirect_to("Location: . $new_location");
exit;
?>
Я вытягиваю волосы за последние 48 часов. Я был бы признателен за некоторые рекомендации здесь.
Спасибо, Chris
перенаправление из функции - плохой подход. – urfusion
'functions.php' не имеет смысла и должен создавать бесконечный цикл, но он даже не написан с правильным синтаксисом, поэтому ваш код должен быть взломан. Попробуйте добавить 'error_reporting (E_ALL);' в начале ваших PHP-скриптов. По моему мнению, «уже отправленные заголовки» не должны быть единственной ошибкой, которую вы получаете. Кроме того, что с двойными звездочками в случайных местах. Если это не в вашем коде, не добавляйте его в код в свой вопрос; вместо этого напишите комментарии, которые обращают внимание на проблемные пятна. – MonkeyZeus