PHP heade()头验证功能为什么一直跳转?

header('WWW-Authenticate: Basic realm="Top Secret"');
header('HTTP/1.1 401 Unauthorized'); 
   1. 为甚一直出来让输入账号密码?
   2.$PHP_AUTH_USER还是用$_SERVER['PHP_AUTH_USER']来获取啊?
   我2个都试过了,但是点击确定后还是出来对话框让我继续输入,网上的例子都是连接数据库的,有没有大神给随意写一个啊。
//定义用户名和密码
define('AUTH_USER', 'xxxxxxx');
define('AUTH_PASSWORD', 'xxxxxxx');


if (@$_SERVER['PHP_AUTH_USER']!==AUTH_USER || @$_SERVER['PHP_AUTH_PW']!==AUTH_PASSWORD) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'No Authenticate';
    exit;
} else {
    //验证通过
        echo 'Hello';
}