I like very much the idea of using a "short" way. Actually, I did and
here's how:

// After I queried the DB for a username & password match:
        if (mysql_num_rows($result) > 0)
        {
                $row = mysql_fetch_array($result);
                if ($row[authlevel] == '1')
                {
                        $valid_user = $username;
                        session_register("valid_admin");
                }
                else if ($row[authlevel] == '0')
                {
                        $valid_user = $username;
                        session_register("valid_user");
                }
        }

but still doesn't work. I'm still getting the "posted" values back (when
pointed to phpinfo.php) including the sessionID variable, but the
Session doesn't show like registered. That is, when I called the
following Script, nothing happens:

[snip]
if (session_is_registered("valid_admin"))
{
// do admin stuff 
}
else if (session_is_registered("valid_user"))
{
// do users stuff
}
else
{
// prompt for login
// this is still what's showing!!!???
}
[snip]

César Aracena
IS / MCSE+I
Neuquén, NQN
(0299) 156-356688
(0299) 446-6621
> -----Mensaje original-----
> De: Miguel Cruz [mailto:[EMAIL PROTECTED]]
> Enviado el: Viernes, 14 de Junio de 2002 03:11 a.m.
> Para: César Aracena
> CC: PHP General List
> Asunto: Re: [PHP] Advanced User Authentication
> 
> I think you're making it needlessly complicated. Why don't you just
> 
>   select * from * FROM auth WHERE authname = '$username' AND
>   authpass = password('$password')
> 
> and not worry about "WHERE authlevel = 1"?
> 
> Then, if that query is successful, you can just fetch the result row
> and see what 'authlevel' is for that user, and act accordingly.
> 
> miguel
> 
> On Fri, 14 Jun 2002, César Aracena wrote:
> > I’m trying to make a somehow “advanced” user authentication system
fro
> > my own web site. What I’m using as a model example, is the
> > authentication system explained by Luke Welling & Laura Thomson in
their
> > book “PHP and MySQL Web Development”. In the book, they explain how
to
> > make apparently a perfect user authentication system, but only for
one
> > level users. I would like to change that somehow in order to make my
> > scripts recognize whether the user is an Administrator or a Common
User,
> > identified by a “authlevel” field in my DB (1 for Admin – 2 for
Users).
> >
> > I’m making all my web sites, by using an “include” schema, so the
user
> > is authenticated only in the Header (included in all the pages).
> >
> > What I have so far is:
> >
> > <?
> >
> > // this is where the original script begin
> >
> > session_start();
> >
> > if ($userid && $password)
> > {
> >     $db_conn = mysql_connect("localhost", "user", "password");
> >     mysql_select_db("dbname", $db_conn);
> >     $query = "SELECT * FROM auth WHERE authname = '$username' AND
> > authpass = password('$password') AND authlevel = 1";
> >     $result = mysql_query($query, $db_conn);
> >     if (mysql_num_rows($result) > 0)
> >     {
> >             $valid_user = $userid;
> >             session_register("valid_admin");
> >     }
> >
> > // this is what I tried to add
> >
> >     else if (mysql_num_rows($result) >= 0)
> >     {
> >             $query1 = "SELECT * FROM auth WHERE authname =
> > '$username' AND authpass = password('$password') AND authlevel = 0";
> >             $result1 = mysql_query($query1, $db_conn);
> >             if (musql_num_rows($result1) > 0)
> >             {
> >                     $valid_user = $userid;
> >                     session_register("valid_user");
> >             }
> >     }
> > }
> > ?>
> >
> > It works great when used in it’s original state, but does no good to
> > what I’m trying to do here. Also, I’m willing to learn from this so
I
> > don’t want to rush and get it already done out there ;-)
> >
> > By the way, before you ask, I use MySQL and PHP 4 under a Apache
> > emulator (PHPTriad) running under WinXP (and damn, it works good and
> > smooth).
> >
> > Hope to get some knowledge from you guys and gals,
> >
> > Cesar Aracena <mailto:[EMAIL PROTECTED]>
> > CE / MCSE+I
> > Neuquen, Argentina
> > +54.299.6356688
> > +54.299.4466621
> >
> >
> >
> 
> 
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php


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

Reply via email to