...

View Full Version : How to track the total number of logged in members



jeephp
06-24-2005, 12:13 PM
I am currently working on a membership based web site. I need to display the number of members

logged in that system. To do this I have set a flag in the database which is set to 1 whenever a

user is logged in the system and when the user clicks on the ‘Log Out’ link a query is fired that

sets the same flag to 0. To display the total number of logged in members I run a query that counts

the number of records whose flag is set to 1.

However this method has a major shortcoming. When users do not click the ‘Log Out’ link but just

close the browser. In such a situation the query that will set the flag field back to 0 will bot be

fired and hence the user would be seen as active in the system even though the user has already left

the system.

When one company is viewing the profile of another company in my site I also need to show whether

that representative of the company whose profile is being viewed in logged in the system at that

time or not so that if the user wants then can send a message to them.

I need some advice on how can I achieve this in the best possible way, where I can display the total

number the total number of correct logged in members

Thanks a lot!

Cheers
Paresh

anshul
06-24-2005, 12:25 PM
However this method has a major shortcoming. When users do not click the ‘Log Out’ link but just close the browser.

Couldn't you set again flag to '0' only when they click logout or COOKIE time-limit, say 24 hours or 1 week expires.

delinear
06-24-2005, 01:58 PM
Maybe each time a logged in user clicks a page in the site a timestamp is added to the database showing the time of their last action. Then set a maximum time limit and, if the last action occured more than X minutes ago show that user as logged out. That way if they're not really logged out, as soon as they start browsing again they will be shown as logged in.

emehrkay
06-24-2005, 02:08 PM
Maybe each time a logged in user clicks a page in the site a timestamp is added to the database showing the time of their last action. Then set a maximum time limit and, if the last action occured more than X minutes ago show that user as logged out. That way if they're not really logged out, as soon as they start browsing again they will be shown as logged in.
this is the way i used. i just ran an update set table last_login = '".time()."' query when they logged in. then when i pulled the list my query was SELECT * FROM table WHERE last_login < '".$new_time."' and i set $new time = to time()-(15*60);



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum