Well it seemed to me that the $PHP_ variables were always set, just
sometimes blank.  Yes it's possible at php.net, it's where I got most of
the answer for.  I just used a bit of logic and searched for "empty" in
the function list, and it came up with that function.  The best way to
do it, I would say, is to download the pdf version of the manual (quite
a hefty download, but worth it) and search it for terms you think will
help u.  (ie searching for empty cos I knew I was looking for a function
that would tell me if a variable was empty or not)

As to your script, it looks to me as if that will allow you to have a
blank password, haven't tried it yet though, just at a first glance
that's my opinion.  I'd also use a database lookup instead of a text
file to hold the usernames and passwords.  a) more secure and b) easier
to control users.

Ross

morten wrote:
> 
> Hi again,
> 
> Cool, where do you find out those things. (emty instead of !isset). Is it
> possible at php.net?
> Meantime I also find som exsamples at webmonkey.org. They turn out to
> be good. And they - use 'isset'
> 
> <?php
> // File Name: auth03.php
> // Check to see if $PHP_AUTH_USER already contains info
> if (!isset($PHP_AUTH_USER)) {
>   // If empty, send header causing dialog box to appear
>   header('WWW-Authenticate: Basic realm="My Private Stuff"');
>   header('HTTP/1.0 401 Unauthorized');
>   exit;
> } else if (isset($PHP_AUTH_USER)) {
>   // If non-empty, open file containing valid user info
>   $filename = "text.txt";
>   $fp = fopen($filename, "r");
>   $file_contents = fread($fp, filesize($filename));
>   fclose($fp);
>   // Place each line in user info file into an array
>   $line = explode("\n", $file_contents);
>   // For as long as $i is <= the size of the $line array,
>   // explode each array element into a username and password pair
>   $i = 0;
>   while($i <= sizeof($line)) {
>     $data_pair = explode(":", $line[$i]);
>     if (($data_pair[0] == "$PHP_AUTH_USER") && ($data_pair[1] ==
> "$PHP_AUTH_PW")) {
>       $auth = 1;
>       break;
>     } else {
>       $auth = 0;
>     }
>     $i++;
>   }
>   if ($auth == "1") {
>     echo "<P>You're authorized!</p>";
>     exit;
>   } else {
>     header('WWW-Authenticate: Basic realm="My Private Stuff"');
>     header('HTTP/1.0 401 Unauthorized');
>     echo 'Authorization Required.';
>     exit;
>   }
> }
> ?>
> 
> Morten

-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to