mal ne kurze anleitung:
erstelle eine tabelle,
lege folgende spalten an:
ip,ID,date
(ip: varchar(5);ID: int() auto_increment, primary key; date: datetime)
dann schreibst du am besten eine funktion, die bei jedem aufruf einer seite auch aufgerufen wird.
zuert schreibst du die ip des user und das aktuelle datum in die db.
dann machste: "Select * FROM counter"; mit allem was daszu gehört,
die verarbeitung dann in ner schleife.
zuerst überprüfst du, ob die ip schon einmal verarbeitet wurde. wenn ja, dann überprüfst du den abstand des besuchers. wenn der größer als deine gewünschte zeit ist, dann wird er erneut gezählt, ansonten nicht (reload-sperre).
dann schreibst du das datum des aktuellen satzes in eine session etc(für die reloadsperre)
gestern, heute:
da machst du das gleiche wie oben, nur bei der schleife überprüfst du, ob das datum heute bzw. gestern ist, wenn ja, wird gezählt, wenn nicht dann nicht.
dann gibst du nach der schleife einfach nur noch alles aus. fertig.