porque debes verificar antes si las variables de autenticación fueron establecidas, es decir, que realmente fue un usuario el que autenticó:
Código PHP:
if (!isset($_SERVER['PHP_AUTH_USER'])) {
//aqui vuelve a solicitar
header('WWW-Authenticate: Basic realm="Acceso restringido"');
header('HTTP/1.0 401 Unauthorized');
echo "Zona Restingida";
}else{
//aqui verifica
if (($PHP_AUTH_USER!="admin") || ($PHP_AUTH_PW!="admin")){
echo "Acceso denegado";
}
}
Suerte!!!