Заголовок не работает PHP - PullRequest
0 голосов
/ 25 июля 2011

Я использую MAMP, NetBeans для разработки php-сайта на моем Mac. Я написал следующий код, но неоднократно сталкивался с ошибкой. Я перепробовал все закомментированные строки, но ни одна из них не работает.

<?php
if ($output == 1) //Authenticated = yes
{

    $url = "http://www.google.com”;
    //error_reporting(E_ALL); ini_set('display_errors', 'On'); 
    //
    //  include('./dlheader.inc');

    //header("Content - Length: 0");
    // header("Location: http://google.com", true, 303);
    // header("Location:".$url);
    //  header("Location: http://google.com", true);
    //   exit;

    /*          flush();
          if (headers_sent()) {
die('cannot send location header (anymore)');
}
    else {
    header('Location: '.$url);
    die();
}

*/
    //echo '<html><head><meta http-equiv="refresh" content="1;url=' . $url . '"/>;

}
?>

Этот код находится точно после тега <body>. Заранее спасибо за помощь.

Ответы [ 2 ]

11 голосов
/ 25 июля 2011

Если это именно ваш код, вам нужно исправить эту фигурную цитату.Похоже, что оно было скопировано / вставлено с веб-сайта или текстового процессора.

$url = "http://www.google.com”;
                            ^^^^

Должно быть

$url = "http://www.google.com";

Поскольку это не правильная двойная кавычка, PHP не видитстрока закрывается и весь последующий код обрабатывается как часть строки до тех пор, пока не встретится другая ".

5 голосов
/ 25 июля 2011

Если это пространство до тега php находится в вашем файле, то header () не будет работать.Перед заголовком () не должно быть пробелов или какого-либо другого вывода в php-файле, иначе он не будет работать, так как заголовки уже отправлены.

Вы можете проверить это с помощью логического результата изФункция headers_sent ():

if(headers_sent())
{
    echo "headers already sent!";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...