header()前不能有输出或者其他
详情见http://www.php.net/manual/zh/function.header.php

解决方案 »

  1.   

    if(!isset($PHP_AUTH_USER))
    {
    Header("WWW-Authenticate:Basic realm=\"请您输入帐号密码\"");
    Header("HTTP/1.0 401 Unauthorized");
    echo "<center>对不起,您没有权限</font>";
    exit();
    }
    else
    {
    if( ($PHP_AUTH_USER!="") && ($PHP_AUTH_PW!=""))
    {
    if($PHP_AUTH_USER != $rootname)
    {
    Header("WWW-Authenticate:Basic realm=\"用户错\"");
    Header("HTTP/1.0 401 Unauthorized");
    exit();
    }
    if($PHP_AUTH_PW != $password)
    {
    Header("WWW-Authenticate:Basic realm=\"密码错\"");
    Header("HTTP/1.0 401 Unauthorized");
    exit();
    }
    }
    else
    {
    Header("WWW-Authenticate:Basic realm=\"输入不完整\"");
    Header("HTTP/1.0 401 Unauthorized");
    exit();
    }
    }
    这个我用的很好,如果有错那就是你设置的问题了
      

  2.   

    在我给你的代码后面加上下面就行:
    global  $PHP_SELF;echo "<meta http-equiv='Refresh' content='3;url=".$PHP_SELF."'>";
      

  3.   

    echo "<meta http-equiv='Refresh' content='3;url=".$_SERVER['PHP_SELF']."'>";
      

  4.   

    查出原因了,是因为前面有个<html>现在终于弄好了,谢谢各位了