我正在使用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不会看到字符串被关闭,所有后续代码都被视为字符串的一部分,直到"遇到另一个.
如果php标记之前的那个空格在你的文件中,那么header()将不起作用.在header()之前的php文件中不会出现空格或任何类型的输出,或者由于标题已经发送,它将不起作用.
您可以使用函数headers_sent()的布尔结果来检查:
if(headers_sent())
{
echo "headers already sent!";
}
Run Code Online (Sandbox Code Playgroud)