标头不工作PHP

0 php safari redirect header

我正在使用MAMP,NetBeans在我的Mac上开发php网站.我编写了以下代码但反复遇到错误.我尝试了所有注释的行但没有一个工作.

<?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 . '"/>;

}
?>
Run Code Online (Sandbox Code Playgroud)

此代码正好在<body>标记之后.感谢您的帮助.

Mic*_*ski 10

如果这正是您的代码,则需要修复此卷曲引用.看起来它是从网站或文字处理器复制/粘贴的.

$url = "http://www.google.com”;
                            ^^^^
Run Code Online (Sandbox Code Playgroud)

应该

$url = "http://www.google.com";
Run Code Online (Sandbox Code Playgroud)

由于它不是一个合适的双引号,PHP不会看到字符串被关闭,所有后续代码都被视为字符串的一部分,直到"遇到另一个.


Smo*_*PHP 5

如果php标记之前的那个空格在你的文件中,那么header()将不起作用.在header()之前的php文件中不会出现空格或任何类型的输出,或者由于标题已经发送,它将不起作用.

您可以使用函数headers_sent()的布尔结果来检查:

if(headers_sent())
{
    echo "headers already sent!";
}
Run Code Online (Sandbox Code Playgroud)