Login page:

// suppose that user login was verified
// Following code have to be executed only if user is valid

session_start();
session_register("user","user_email");    //register here all needed data.
                                       //In this case, it will register $user
and $user_email in the session

Put the following in session.inc and include session.inc on top of each script
that has to be run for logged users

session_readonly();
if((!session_is_registered("user")) || (!session_is_registered("user_email")))

    header("Location: login.php");

This will redirect user to the login page if not logged in. If he was logged,
script will go on and you can access $user and $user_email. Any change of
their value will not be saved in the session

Tom

PS: in my PHP version 4.04 , function session_readonly() is unknown. What I
use instead is:

session_start();
....
session_write_close();   //session_end is also unknown by 4.0.4



Dima Dubin wrote:

> Hello Tom
>
> I looked in the manual for session_readonly because its basicly what I need
> : 1 login page, and the just read the session data in other pages....
> but, there is no examples or anything like that in the manual could you
> please show me a little example how to use it on my pages ?
>
> THANKS !!
> Dima.
>
> "Tom Mikulecky" <[EMAIL PROTECTED]> wrote in message
> [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> > Hi
> >
> > PHP's sessions are blocking, i.e. until a session is closed, all other
> calls to
> > session_start() are pending. If you don't close a session explicitely, it
> > remains opened until the script is terminated.
> > The solution is to close a session as soon as possible
> (session_write_close) or
> > use non-blocking read-only sessions (session_readonly instead of
> session_start)
> > in case you don't need to modify registered variables.
> >
> > Tom
> >
> >
> > Dima Dubin wrote:
> >
> > > Hello,
> > > I have very wierd problem :
> > > I use session to manage users and I have this structure of the page :
> > > -----
> > > include("db.php");
> > > include("header.php");
> > > bla bla
> > > include("footer.php");
> > > -----
> > >
> > > in the db.php I have :
> > >
> > > ----
> > > session_start();
> > > #some mysql connect stuff
> > > ----
> > >
> > > I use session with the $_SESSION array (cheking if
> registered[isset($_S...)]
> > > and registering...)
> > > and all work fine....
> > > but sometimes the page loading is very very very slow (and its a really
> > > really fast host) and when I removing session_start(); from the top of
> the
> > > page, the page load normaly.
> > >
> > > the PHP version is 4.1.1, someone have an idea ?
> > > thanks in advance,
> > > Dima.
> >

Reply via email to