Archief - php: actie bij het sluiten van de browser

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

joris@home

Legacy Member
hallo

ik zou graag aan de bezoekers van mijn site laten zien hoeveel mensen er ingelogd zijn. ik zou bij het inloggen een 0 in 1 willen veranderen als ze ingelogd zijn en andersom als ze zich uitloggen. maar ze moeten ook offline gezet worden als ze gewoon hun browser sluiten. weet iemand hoe ik dit voor elkaar krijg?

Greetz..

Joris

=(X)=RaVen=

Legacy Member
Ge pakt een tabel in uw database met kolommen "datum & ip"
Als er een nieuwe sessie is maakt ge een record aan op dat tijdstip en je schrijft het IP erbij.
Als je dan wil tonen hoeveel bezoekers er zijn doe je een query alla:
"SELECT COUNT(*) AS aantal FROM visitors WHERE datum>".(time()-60*5)." GROUP BY ip"

En dan zou hij het aantal unieke bezoekers uit de laatste 5 minuten moeten tonen. (query ni gechecked)
Je kan daar ineens aan koppelen
"DELETE FROM visitors WHERE datum<".(time()-60*5)
Zodat de "oude" gebruikers uit je tabel worden verwijderd.

Als je echt perse met "geregistreerde gebruikers" wilt werken kan je een kolom "lastvisit" bijhouden in je gebruikers tabel. Als je je authorisatie doet kan je die waarde dan updaten. En ja kan dan wederom laten zien op de site wie er de laatste 5min was.

Lashknife

Legacy Member
denk eraan dat als je een groeiende userbase hebt, dat zo'n scripts serieuze performantie hits zijn als je voor die 2de optie gaat (alle lastvisits checken)

joris@home

Legacy Member
tja het is ni echt de bedoeling van te zien wie er de laatste 5 minuten op de site zit.
we zitten me nogal weinig gebruikers. en we zouden willen zien wie er juist online is. en omdat we soms wel meer dan 5 minuten online zijn denk ik niet dat de vorige de oplossing zijn.

Tombo

Legacy Member
Om met php te werken en databases te werken, zal er een nieuwe pagina moeten worden geopend. Je kan die automatisch openen bij body onunload, maar dit werkt zeer irriterend.

Anders met java of flash werken.

=(X)=RaVen=

Legacy Member
als ge in uw sessie de userID bijhoud van de ingelogde bezoeker, kan je toch bovenaan telkens een query doen met "UPDATE users SET lastvisit=".time()." WHERE userID=".$_SESSION['userID']

Dan update die waarde telkens hij naar een andere pagina gaat (dus een klik doet op je site), je kan dan toch tonen wie er de laatste 3min was. Ver kan je er dan niet naast zitten :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan