Uh, no.  Your problem is obvious:

   $sql = "SELECT *
           FROM users
           WHERE username='$_SERVER["PHP_AUTH_USER"]' and
           password='$_SERVER["PHP_AUTH_PW"]'";

You have double-quotes inside a double-quoted string.

Like I said, don't use quotes around the array index inside a quoted
string.  So change the above to:

   $sql = "SELECT *
           FROM users
           WHERE username='$_SERVER[PHP_AUTH_USER]' and
           password='$_SERVER[PHP_AUTH_PW]'";

Constants are not expanded inside a quoted string, so that is the correct
way to handle array indices if you want to keep them inside the quoted
string.

-Rasmus

On Sun, 10 Nov 2002, Leif K-Brooks wrote:

> Uh, no.  That makes it think it's a constant, which generates a notice.
>
> Rasmus Lerdorf wrote:
>
> >Don't use quotes around the array index inside a quoted string.
> >
> >-Rasmus
> >
> >On 10 Nov 2002, Ray Seals wrote:
> >
> >
> >
> >>>The fact that tutorials are outdated & using old code is not a good reason
> >>>to stick with it :)
> >>>
> >>>
> >>I agree totally.
> >>
> >>So I'm trying to use the $_Server variables but I continue to get this
> >>error:
> >>
> >>Parse error: parse error, expecting 'T_STRNG' or 'T_VARIABLE' or
> >>'T_NUM_STRING' in <blah, blah, blah> on line 33.
> >>
> >>Here is the script that is doing this:
> >>
> >><?php
> >>
> >>
> >>        // File Name: auth04.php
> >>        // Check to see if $PHP_AUTH_USER already contains info
> >>
> >>        if (!isset($_SERVER["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($_SERVER["PHP_AUTH_USER"])) {
> >>
> >>                // If non-empty, check the database for matches
> >>                // connect to MySQL
> >>
> >>                mysql_connect("hostname", "username", "password")
> >>
> >>                        or die ("Unable to connect to database.");
> >>
> >>                // select database on MySQL server
> >>
> >>                mysql_select_db("dev_i2ii_com")
> >>                        or die ("Unable to select database.");
> >>
> >>                // Formulate the query
> >>
> >>                $sql = "SELECT *
> >>                FROM users
> >>                WHERE username='$_SERVER["PHP_AUTH_USER"]' and
> >>password='$_SERVER["PHP_AUTH_PW"]'";
> >>
> >>
> >>
> >>                // Execute the query and put results in $result
> >>
> >>                $result = mysql_query($sql);
> >>
> >>                // Get number of rows in $result. 0 if invalid, 1 if
> >>valid.
> >>
> >>                $num = mysql_numrows($result);
> >>
> >>                if ($num != "0") {
> >>                        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;
> >>
> >>                }
> >>
> >>        }
> >>
> >>
> >>
> >>?>
> >>
> >>----------------------
> >>The data base stuff hasn't been put in yet, I'm just trying to get the
> >>script to load cleanly before I trouble shoot the database connector
> >>side.
> >>
> >>Ray
> >>
> >>
> >>--
> >>PHP General Mailing List (http://www.php.net/)
> >>To unsubscribe, visit: http://www.php.net/unsub.php
> >>
> >>
> >>
> >
> >
> >
> >
>
> --
> The above message is encrypted with double rot13 encoding.  Any unauthorized attempt 
>to decrypt it will be prosecuted to the full extent of the law.
>
>
>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to