php header () работает в localhost, но не работает на живом сервере? - PullRequest
0 голосов
/ 27 октября 2011
if ($num_rows == 0 && $num_rows2 == 0) {
    echo 'result1';
    header('Location:enter-work.php');
    die();
} else if ($num_rows >= 0 || $num_rows2 >= 0) {
    echo 'result2';
    header('Location:similar-work.php');
    die();
}

У меня есть приведенный выше код, с которым я тестирую, и он правильно выводит образец текста 'result1' или 'result2' каждый раз, когда я обновляю страницу этим кодом, но он не перенаправляет на ввод-work.php или аналогичный-work.php, как на моем локальном сервере.На моем локальном сервере я могу даже связать его с онлайн-сайтами (например, google.com).И я ввел приведенный выше код еще до того, как был написан какой-либо html-код, поэтому еще до того, как был объявлен даже тип документа.

Не уверен, что является причиной проблемы, нужна помощь.комментарии (к выбранному ответу) проблема была в том, что у меня были эхо и пробелы перед функцией header ().

Ответы [ 2 ]

8 голосов
/ 27 октября 2011

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

То, что локальный и работающий сервер ведут себя по-разному, возможно, из-за разных выходных буферов настроек.

В любом случае, это должно сработать, если убрать эхо.

0 голосов
/ 07 марта 2015

для любого, кто все еще сталкивается с той же проблемой: сначала попробуйте просто header() код в yourfile.php и удалите любой другой контент, если проблема решена, то есть проблема в вашем старом коде.

секунда: header () должно работать даже с другим контентом, таким как echo "" и т. Д ...

последнее: если вы пробовали простой код header() и проблема все еще не решена, обратитесь к вашему хостинг-провайдеру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...