browser sluit -> uitloggen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jason  van der Zeeuw

Jason van der Zeeuw

12/06/2011 19:52:07
Quote Anchor link
Beste php'ers,

nog één ding waar ik op dit moment niet uitkom..
als iemand inlogt wordt dat in een database opgeslagen.
als iemand uitlogt wordt dat ook weer veranderd met een boolean.

maar wat nou als iemand de browser sluit?
dan wordt er geen query uitgevoerd, en blijft de persoon als "ingelogd" in de database staan...

Weet iemand hoe ik dit kan oplossen?

Gr. Jason
 
PHP hulp

PHP hulp

12/03/2025 08:10:43
 
- SanThe -

- SanThe -

12/06/2011 20:09:50
Quote Anchor link
Langer dan een bepaalde tijd niet actief => uitloggen.
 
Jason  van der Zeeuw

Jason van der Zeeuw

12/06/2011 20:13:45
Quote Anchor link
kan ik dat het beste doen met een cookie?
dat ik die op elke pagina weer reset naar 30 minuten bijvoorbeeld..

hoe kan ik dan de query uitlaten voeren als de cookie 'afloopt' ?

of kan ik hier beter wat anders voor gebruiken?
 
- SanThe -

- SanThe -

12/06/2011 20:27:11
Quote Anchor link
Ik weet niet hoe jij checked of iemand is ingelogd. Maar ik zou daarvoor een extra veld bij de user in de database zetten DATETIME. En elke keer dat de user wat doet updaten naar NOW() en tegelijkertijd kan je dan kijken of er ingelogde personen zijn waarvan dat bewuste veld ouder is dan een bepaalde tijd. Die log je dan uit.
 
Jason  van der Zeeuw

Jason van der Zeeuw

12/06/2011 20:29:18
Quote Anchor link
oke, dat komt goed!
maar hoe kan ik elke keer checken of een user al meer als een bepaalde tijd niks heeft gedaan?
ik snap hoe ik het in de database kan checken.. maar hoe laat ik de website dan automatisch iemand uitloggen?
 
Wouter J

Wouter J

12/06/2011 20:31:43
Quote Anchor link
Je zou hier JavaScript voor kunnen gebruiken. En dan misschien in combinatie met AJAX.
Gewijzigd op 12/06/2011 20:32:10 door Wouter J
 
Jason  van der Zeeuw

Jason van der Zeeuw

12/06/2011 20:36:07
Quote Anchor link
ik ben niet zo goed in JavaScript en echt een beginner met AJAX..
als ik nou die code op elke pagina in een verborgen div zet, die ik elke 10 seconden refresh..
met in die div de code die checkt of er al 30 min. geen activiteit is?
 
- SanThe -

- SanThe -

12/06/2011 20:36:33
Quote Anchor link
Bij elke actie wordt er gekeken of er is ingelogd. Zo ja doorgaan, zo nee inloggen. Direct daarna kijk je of er personen zijn die al te lang nonactief zijn. Zo ja, dan log je die uit. Als die personen dan weer actief worden komen ze dus niet door de volgende logincheck heen en moeten ze weer inloggen.
 
Jason  van der Zeeuw

Jason van der Zeeuw

12/06/2011 20:38:17
Quote Anchor link
Bedankt weer SanThe, ik ga ermee aan de slag!
 
Ruben Portier

Ruben Portier

12/06/2011 20:57:54
Quote Anchor link
Ik ben niet zo aan verschillende query's uitvoeren op (bijna) iedere pagina. Daarvan gaat je site aanzienelijk trager worden en heeft de server ook meer werk aan de database. Wat kan leiden tot hoog CPU gebruik bij een hoog aantal bezoekers.

Ik zou het persoonlijk met sessions doen. In een session plaats je de id van de account. Als die session niet bestaad is hij niet ingelogt.
 
Jason  van der Zeeuw

Jason van der Zeeuw

12/06/2011 21:11:13
Quote Anchor link
maar dan moet je dus ook ergens checken of van elke gebruiker de session bestaat..?
 
- SanThe -

- SanThe -

12/06/2011 21:23:56
Quote Anchor link
Ruben Portier op 12/06/2011 20:57:54:
Ik ben niet zo aan verschillende query's uitvoeren op (bijna) iedere pagina.


Het is 1 query op 1 pagina. Dat is echt niet veel extra werk.
 
Jason  van der Zeeuw

Jason van der Zeeuw

12/06/2011 21:25:44
Quote Anchor link
nee het leek mij ook al niet, en wat ik vaak hoor is dat een query uitvoeren misschien een paar milliseconden duurt..
ik ga er even een functie voor schrijven en klaar!

nogmaals bedankt!
 
Kees Schepers

kees Schepers

13/06/2011 17:32:56
Quote Anchor link
Ruben Portier op 12/06/2011 20:57:54:
Ik ben niet zo aan verschillende query's uitvoeren op (bijna) iedere pagina. Daarvan gaat je site aanzienelijk trager worden en heeft de server ook meer werk aan de database. Wat kan leiden tot hoog CPU gebruik bij een hoog aantal bezoekers.


Ben ik niet met je eens, uiteraard is het niet de bedoeling om overbodig queries te draaien, maar of een pagina langzaam word of niet heeft meestal niet met het aantal te maken maar met de query zelf op zich. Als een query geen of slechte indeces gebruikt dan kun je er maar 1 hebben en toch is je site dan langzaam terwijl een site met 30 queries veel sneller kan zijn ;-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.