Jake,
it would be helpful if we could see your code.

That said...

first you need to identify what information you need to track in the
sessions, and whether you're going to use php sessions (the $_SESSIONS
array) or build your own mysql based session tracker.

to use php sessions:
you will need some place where you set up/create the sessions.  typically
this is the login page.  let's assume you'll use the login page.  The logic
for the login page goes something like this:
1.  present a form for logging in (usually username/password)
2.  on post, clean the posted data (remove html, special characters, etc)
3.  check the cleaned username/password against the data in the database
4.  if the username/password is valid, create your session and assign
variables to it like this:
        session_start();  //create the session
        $id = session_id();  // create a unique session id
        session_register("id");  // register id as a session variable
        session_register("name");  // register name as a session variable
        session_register("email");  // register email as a session variable
        $_SESSION["id"] = $id;  // assign the unique session id to session array
        $_SESSION["name"] = $data["name"];  // assign the username to session array
        $_SESSION["email"] = $data["email"];  // assign additional values (after
regisering them) to session array

5.  now either redirect to your main application page, or create another
page with links to that main applicaiton page.  In either case every page
where you want to use sessions has to start with:
session_start();

for example:
<?php
session_start();
the rest of your code.

6.  I recommend that you add a check to your pages to make sure that the
session is still the right one and it's intact, something like this:
if (!$_SESSION["id"])  // if no session id, return to the login page
{
        header ("Refresh: 0; url=login.php");  //or
        // header ("location:http://www.mydomain.com/login.php";);
}else{
        // the body of your code goes here.
}

7.  so with all that the pages you want to access session in should have a
structure similar to:
<?php
session_start();
if (!$_SESSION["id"])
{
        header ("Refresh: 0; url=login.php");
}else{
        // do all kinds of nifty time card things here
}
?>


Hope this is helpful.

Chris

-----Original Message-----
From: Jake McHenry [mailto:[EMAIL PROTECTED]
Sent: Tuesday, October 14, 2003 4:00 PM
To: [EMAIL PROTECTED]
Subject: [PHP] Sessions Question


Hi everyone,

I've been trying to set up sessions, but have been having problems. I
created an online time clock for my company using php and a mysql
database. It's everything that my boss wanted. The only problem is, he
told me today that he is planning on selling it to our partners. The
actual software and database will reside on my server, but I will give
them their own database.

I started designing it about 2 years ago, and the machine that I was
working on at the time had register_globals=on, so I built my
scripting around that. I didn't know much about php at the time, but
have learned an immense amount since then.

Since a people are now going to be accessing the time clock from
outside my company, I need to turn register_globals off, and turn
sessions on. My problem is that all my variables are declared locally
in the individual files, and are being passed by forms to $PHP_SELF,
and all of the variables and their values can be seen in the address
bar.

This never concerned me while being inside my firewall, since it was
only my employees and I. I knew what was going on.

I've read a lot of documents on the net concerning sessions, but still
can't get it to work right. Whenever I try to go to another page, or
submit a time, it either doesn't work at all, or it works, but the
value that's in the variable is stuck there, and I can't change it
without closing the browser and starting over.

Can someone point me in the right direction here?

Thanks,
Jake McHenry
Nittany Travel MIS Coordinator
http://www.nittanytravel.com

--
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