If everyone is required to sign-in, then you can update the "online" indicator when they sign in. When they sign out or after they have been inactive for a certain amount of time, you can reset it to "offline". If you can also have active users who aren't signed in (just browsing), then you can also get the total count of active sessions - see the link below:
http://www.olate.co.uk/articles/131
chrishea
Nearly a Posting Virtuoso
1,427 posts since Sep 2008
Reputation Points: 210
Solved Threads: 230
The simplest way to do this is to make a column to store the last time the user was active. E.g:
// Before end of script
$time = time();
mysql_query("UPDATE Members SET last_active='$time' WHERE memberid=$memberid", $con);
Then to check if a user is online or not, choose a window of activity(say, 1 minute).
$inactive = bcsub(time(), 60);
$query = "SELECT * FROM Members WHERE last_active > $inactive";
$result = mysql_query($query, $con);
One thing to keep in mind: Some users may not log out, or may just go away from the comp with the window still up, leaving their session active far past when they should really be considered online. Figure out how you want to define an "online" user.
Lsmjudoka
Junior Poster in Training
75 posts since Apr 2009
Reputation Points: 10
Solved Threads: 9
raju_boini525
Junior Poster in Training
53 posts since Aug 2009
Reputation Points: 10
Solved Threads: 7