"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

counter

alex5612 08.10.2002 - 18:47 1234 22
Posts

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
ahh.. hat sich erledigt - sehe gerade, php hat wrapper-funktionen für die libc funktionen wie flock(), semget() usw..

grubjo

Little Overclocker
Registered: Jun 2002
Location: Graz
Posts: 56
Noch eine einfache Lösung von mir:
$file = 'daten/counter.txt';
$fp = fopen($file, "r") or die("Counter-File defekt");
$counter = fgets($fp, 1024);
fclose($fp);

if (!$PHPSESSID) {
$counter = $counter + 1;
$fp = fopen($file, "w") or die("Counter-File defekt beim Schreiben");
flock($fp, 2);
fputs($fp, $counter);
flock($fp, 3);
fclose($fp);
} }

grubjo

Little Overclocker
Registered: Jun 2002
Location: Graz
Posts: 56
ups sorry, hab was vergessen:
Die erste Zeile auf deiner Seite muß
<?php session_start(); ?>
beinhalten. Ganz wichtig: wirklich in die 1. Zeile schreiben!!

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
@Atrox: Wie gesagt, den Counter hab ich schnell und ohne viel zu überlegen "hingfetzt". Deshalb auch nix mit Filelocking (weil ich immer die Syntax vergess und zu faul zum nachschaun war) und nix mit Reloadsperre.

War auch mehr als Denkanstoss gedacht und ist alles andere als die perfekte Lösung ;) Dafür is sie halt extrem einfach.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
blöde frage: warum verwendest eigentlich nicht mysql?

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Meinst du mich? mySQL wär ja kein Problem, nur es hat halt noch nicht jeder Webspace (vor allem die gratisprovider) mySQL.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
hab eigentlich atrox gemeint... naja - bei nem freespace können die meistens ja auch keinen chmod machen ;)

jb

Here to stay
Registered: May 2000
Location: /home/noe/
Posts: 3506
Glücklich ist jener der wen mit nem eignen Webserver kennt :D

Also ich hab bei meinen Countern eine MySQL Tabelle in der eingetragen wird. Das Script hab ich mal irgendwo herkopiert, ich glaub von PHP-Homepage es aber etwas geändert.
Jetzt wird die IP bzw der Rechnername wenn vorhanden mitgeloggt, außerdem die Besuchszeit. Wenns schon einen Besucher mit der IP gab wird in der entsprechenden Zeile einfach eins hochgezählt und die Zeit überschrieben (damit steht immer der letzte Besuch in der Tabelle). Neue IPs oder Rechnernamen werden einfach dazugefügt.

Außerdem logge ich in einer zweiten Tabelle den Referer, also woher der Besucher kommt, leider is das bei 2nd Level Domains mit Weiterleitung ein Problem weil man nur die eigene Adresse sieht.

Reload-Sperre wollt ich schon ewig mal einbauen aber ich bin zu faul dafür, außerdem überleg ich mir was wie ich meine eigenen Besuche (meistens für irgenwelche Tests wenn ich etwas ändere) rausfiltern kann. Zukünfig werd ich eh ne fixe IP haben da wird es einfacher.

Ein Textfile ist sicher nett, aber mit MySQL kann man etwas mehr machen, Statistiken einfacher generieren...
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz