Y .. algunos detallitos más:
La autentificación HTTP sólo funciona en PHP instalado como módulo de Apache .. no como CGI (ejemplo bajo IIS) ..
Cuidado con el acceso a las variables de servidor como globales .. deberías usar los arrays superglobales asociados $_SERVER, .. $_POST .. etc
Puedes leer más sobre el tema en la documentación oficial sobre autentificacion HTTP con PHP:
http://www.php.net/manual/en/features.http-auth.php
Un saludo,