0

每当我打开页面时,我都会收到以下错误:

[04-Jul-2012 17:10:45] PHP 警告:无法修改标头信息 - 标头已由 /home/test/public_html 中的(输出开始于 /home/test/public_html/admin/header.php:39)发送/admin/edAgent.php 在第 80 行

[04-Jul-2012 17:10:55] PHP 警告:无法修改标头信息 - 标头已由 /home/test/public_html 中的(输出开始于 /home/test/public_html/admin/header.php:39)发送/admin/edAgent.php 在第 80 行

包括标题的代码片段:

编码头:

header('Content-Type: text/html; charset=utf-8');

登录重定向标头:

if(!isset($_SESSION["login"])OR $_SESSION["login"]!=1){        
    header('Location: login.php');
    exit;     
    }

检查登录用户是否有编辑权限:

if($level!='4') {
    header('Location: acd.php?msg=1');
    exit;
}

检查 ID 是否存在:

if ($nUsers==0) {    
    header('Location: acd.php?msg=2');
    exit;    
}

检查信息是否可编辑:

if($access != '4') {        
    header('Location: acd.php?msg=1');
    exit;        
}
4

3 回答 3

2

如果您将任何内容输出到屏幕,则标题将写入。因此,如果您打算header()在代码中使用,则必须在输出任何内容之前执行此操作,或者在开始时使用ob_start().

于 2012-07-05T09:59:09.837 回答
1

如果标头已发送,则 JS 方法应该可以工作。

print '<script type="text/javascript">window.top.location.href = "'. $myurl .'";</script>';
于 2012-07-05T11:21:53.697 回答
0

ob_start();在页首和页尾添加ob_end_flush();。尝试在函数中存储 header(),尽管 header() 之后不应有任何输出代码。

希望能帮助到你

于 2012-07-05T10:09:04.623 回答