• Hallo,


    Ik ben nooit echt goed in een onderwerp naam, maar hoop dat ik het zo duidelijker kan vertellen; Op mijn website werk ik met een login sessie ($_SESSION['gebruiker']).


    Maar als de gebruiker inlogt en de sessie verbreekt door de browser te sluiten. (zonder de optie 'uitloggen' te gebruiken).
    Hoe kan ik er voor zorgen dat dan de db zijn status ook aanpast. naar bijv online = nee!


    Ik heb al diverse google aanslagen geprobeert, tutorials van sessies door gelezen.. Maar kom daar niet echt verder mee helaas.


    Zou iemand me kunnen helpen?

  • Dit is zeker mogelijk, maar het werkt niet perfect. Met een combi van Ajax, PHP en HTML.


    1.
    De <body> geef je een attribute, namelijk: 'onUnLoad'. Vervolgens prop je er een ajax oproep/functie in die een PHP script aanspreekt om offline te zetten.


    2.
    Een korte timer zetten die telkens controleert in PHP, of tie nog online/actief is.

  • Hier heb je 2 queries voor nodig.


    1. Een query die per refresh van de pagina je gebruikers activiteit update (timestamp)


    2. Een query die kijkt of de huidige tijd - de tijd van de gebruiker hoger is als een x-aantal seconde (delta tijd), hiermee check je of een gebruiker online is of niet ;)

  • Je zou ook een veld 'LaatsteKlik' (Online, LaatsteActie, of hoe je het ook maar wilt noemen) maken in je database en daar steeds de timestamp updaten.
    Als ze dan niets meer doen, het scherm weg klikken of uitloggen zal die tijd niet meer updaten.


    En dan kun je in je inlog, leden online en dergelijke verwerken dat als die tijd langer geleden is als 5 minuten dat de gebruiker niet meer is ingelogd.


    Eventueel kun je ook je huidige systeem houden met online=nee in combinatie met een LaatsteKlik veld.
    Door dit bij te houden en met een cronjob elke X aantal minuten alle gebruikers die 5 minuten niets hebben gedaan online=nee zetten.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!