Ik ben bezig om een simpele webcounter te maken in PHP. Deze moet zowel het aantal hits als het aantal unieke bezoekers per dag gaan bijhouden. Belangrijk is dat de counter op veel pagina's komt die staan die erg veel bezoekers/pageviews krijgen. Efficient programmeren is dus vereist. Nu vraag ik me eigenlijk 2 zaken af:
1. Wat is de beste methode om unieke bezoekers te tellen?
Ik wil zo min mogelijk data opslaan in database/textfiles, dus zou daarom kiezen voor cookies. Bij bezoek een simpele cookie plaatsen met 24-uur geldigheid. Bij elk nieuw bezoek checken of cookie aanwezig is. Zo ja, dan alleen een hit, geen nieuwe bezoeker. Zo nee, dan zowel hit als nieuwe bezoeker. Maar hoe ga je om met mensen die geen cookies accepteren (met name de mensen die dat bewust doen om de counter op te krikken)? Moet je dan van deze mensen de IP's gaan opslaan in database/textfile?
2. Wat is de beste methode om data op te slaan?
Om te voorkomen dat bij elke pageview minimaal 1 querie moet worden uitgevoerd (update views), kan je kiezen voor weg te schrijven in een bestandje. Maar zoals hier ([PHP] Webcounter met reload beveiliging) al beschreven, kan dat problemen geven als meerdere gebruikers naar dat bestandje schrijven. Dat is dus geen optie. Kortom, een database de meest ideale manier?
Voor de duidelijkheid: ik wil dus zo weinig mogelijk data opslaan in database/textfiles, aangezien het aantal views/users nogal groot kan zijn. Eigenlijk ook de vraag: hoe doen grote partijen als Nedstat/Onestat dat?
Hoop dat jullie wat ideeen met me willen wisselen.
1. Wat is de beste methode om unieke bezoekers te tellen?
Ik wil zo min mogelijk data opslaan in database/textfiles, dus zou daarom kiezen voor cookies. Bij bezoek een simpele cookie plaatsen met 24-uur geldigheid. Bij elk nieuw bezoek checken of cookie aanwezig is. Zo ja, dan alleen een hit, geen nieuwe bezoeker. Zo nee, dan zowel hit als nieuwe bezoeker. Maar hoe ga je om met mensen die geen cookies accepteren (met name de mensen die dat bewust doen om de counter op te krikken)? Moet je dan van deze mensen de IP's gaan opslaan in database/textfile?
2. Wat is de beste methode om data op te slaan?
Om te voorkomen dat bij elke pageview minimaal 1 querie moet worden uitgevoerd (update views), kan je kiezen voor weg te schrijven in een bestandje. Maar zoals hier ([PHP] Webcounter met reload beveiliging) al beschreven, kan dat problemen geven als meerdere gebruikers naar dat bestandje schrijven. Dat is dus geen optie. Kortom, een database de meest ideale manier?
Voor de duidelijkheid: ik wil dus zo weinig mogelijk data opslaan in database/textfiles, aangezien het aantal views/users nogal groot kan zijn. Eigenlijk ook de vraag: hoe doen grote partijen als Nedstat/Onestat dat?
Hoop dat jullie wat ideeen met me willen wisselen.