Users Online
Om als eerste mee te beginnen: Ik heb dit script niet helemaal zelf gemaakt. Ik heb een groot deel vanaf een andere site. De credits gaan dan ook uit naar die onbekende persoon.
Ik zal zijn toelichting hier ongeveer vertalen:
Stap voor stap weergave van het script:
1. Neem de eerste 3 reeksen van het IP (nnn.nnn.nnn)
2. Voeg de rij toe aan de database
3. Verwijder oude rijen
4. Tel de online users
1. Waarom de eerste 3 reeksen van een IP?
Dit is voor proxies, zoals de AOL proxy, AOL gebruikers krijgen een IP adres uit een reeks IP's welke bij de proxy hoort. Normaal blijft een ip een hele sessie hetzelfde, maar met proxy's kan elke HTTP request een ander IP zijn. Maar meestal behoren deze IP's aan een bepaald subnet dus de eerste 3 reeksen zijn dan hetzelfde.
2. Waarom een loop en een timestamp toevoeging
Sinds dat de key van de tabel timestamp is, moet de timestamp uniek zijn. Soms treden er fouten op, een gebruiker krijgt een timestamp en de andere een error dat de key al bezet is.. Om dit te onderdrukken gebruiken we het @ teken om een error tegen te houden, tellen we bij de timestamp 1 of 2 op en voegen we hem opnieuw toe. Maar die herhaling word beperkt tot 3 voor de sites die een GROTE hoeveelheid traffic krijgen.
3. Verwijder oude rijen
Het script zal elke rij checken of het binnen de toegelaten tijd valt. Zo niet, de rij zal worden verwijderd.
4. Laat de teller zien
Selecteer het aantal van unieke IP's in de tabel. Tel het op en geeft het resultaat weer van de online gebruikers.
De SQL tabel
** Wees er zeker van dat je dit heb toegevoegd aan de database voordat je het script draait
CREATE TABLE `useronline` (
`timestamp` int(15) NOT NULL default '0',
`ip` varchar(40) NOT NULL default '',
`file` varchar(100) NOT NULL default '',
PRIMARY KEY (`timestamp`),
KEY `ip` (`ip`),
KEY `file` (`file`) ) TYPE=MyISAM;
Dit was de toelichting van de officiele maker, ik heb er niets aan toe te voegen. (misschien klopt de vertaling niet maar je snapt het wel :))
Include het bestand gewoon op de pagina's waarop je wilt tellen.
De connectie variabelen kan je weglaten als je voor dit script al een database connectie heb.
Voorbeeld: http://www.sitsat.nl/phphulp/usersonline/online.php
Gesponsorde koppelingen
PHP script bestanden
Er zijn 20 reacties op 'Users online'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu