This just hit me-
PHP_USER_AUTH is a convenience variable gotten from HTML headers. You can read up specifically on it at
http://www.faqs.org/rfcs/rfc2617.html
...in section 11.1.
Basically PHP populates that info based on a header that the browser sends:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
If you can get the browser to send the above variable, then you're in business, and PHP will populate PHP_AUTH_USER for you.
The browser should respond with an "Authorization:" field after it recieves a "WWW-Authenticate: Basic realm="WallyWorld"" header from either apache, or your PHP script. The trouble is that it responds with an Authorization field based on what the user types in, and I can't think of a way that you can force a browser to send you a specific header.
There's a lot of issues here, but it might be easiest to just tell users to log in as guest/guest if they don't have a password.
HTH!
--Robert