Einfaches PHP website visit counter script?


01.04.2020, 16:59

Ich möchte es so einfach wie möglich halten. Ich wollte nur mal sehen wie viele Besucher ich so habe.

4 Antworten

ich suche ein kostenloses Script, dass einfach die Nutzer die eine Website aufrufen zählen soll und das in einer txt file speichern soll.

Schreib Dir das doch selbst. Ein solches Skritp gliedert sich in drei Bereiche:

  1. Zähler der bisherigen Besucher auslesen
  2. Zähler inkrementieren
  3. neuen Wert speichern
$alterWert = file_get_contents('zaehler.txt');
$neuerWert = $alterWert + 1;
file_put_contents('zaehler.txt',$neuerWert);

Das war's. Verfeinern könnte man das noch, indem man z. B. nur einen Aufruf je User zählt.

Alex

Ein Aufrufzähler besteht aus ziemlich genau 3 Zeilen. Mit Inhaltsüberprüfung der Datei (für einen extrem einfachen Manipulationsschutz) - aus 4 Zeilen.

Besucherzähler findest du hier genug:

https://www.google.com/search?q=user+counter

Da wirst du aber an Cookie oder einer zumindest einfachen Datenbank wohl nicht herum kommen.


EinAlexander  01.04.2020, 17:07
Ein Aufrufzähler besteht aus ziemlich genau 2 Zeilen

aus 1 Zeile:

file_put_contents(file_get_contents('c.txt')+1,'c.txt');
1
CrEdo85wiederDa  01.04.2020, 17:09
@EinAlexander

Wenn man weiß, was man tut, ja. Dann kann man aber auch einiges inkl Überprüfung und einigem mehr alles in eine Zeile packen :)

Wenn man es als Laie gerne gegliedert und verständlich haben möchte, sind's 3 Zeilen - ziemlich genau so wie in deiner Antwort 😉

1

Hast du ne ordentliche Datenbank? Dort könntest du dann die IP-Adressen loggen, brauchst du aber glaub ich ne Bestätigung vom User. Zumindest kannst du dann einfach die Adresse des Clients mit denen aus der Datenbank abgleichen und ggf. die Adresse hinzufügen, sofern sie noch nicht vorhanden ist. Sonst zählst du einfach die Anzahl der Einträge, und, wenn du deine täglichen Benutzer haben willst, löschst es um Mitternacht.

Guck dir die Antwort von EinAlexander an, das hier wäre dann die Verfeinerung.

Woher ich das weiß:Hobby

Das einfach in eine Datei zu speichern würde ich nicht empfehlen - ggf. könnte es da, wenn z.B. zwei Besucher gleichzeitig auf die Seite gehen, zu Überschneidungen kommen, wodurch falsch gezählt wird.

Aber im Endeffekt, ein großes Script brauchst du da nicht. Wenn du die Seitenklicks zählen willst:

$stand = file_get_contents('zaehler.txt');
file_put_contents('zaehler.txt', $stand+1);

Und wenn du die Besucher seitenübergreifend zählen willst, ohne dass jedes Mal wieder drauf addiert wird, wenn ein Besucher auf eine andere Seite klickt, ließe sich das z.B. mit einem einfachen Cookie lösen (das muss dann aber entsprechend in eine Cookie-Richtlinie mit aufgenommen werden, DSGVO):

if (!isset($_COOKIE["gezaehlt"]) || $_COOKIE["gezaehlt"] != 1) {
  $stand = file_get_contents('zaehler.txt');
  file_put_contents('zaehler.txt', $stand+1);
  setcookie('gezaehlt', '1', time()+60*60*24*7); // Damit der Besucher 7 Tage lang als "neuer Besucher" gewertet und nicht neu gezählt wird
}

Und auch das kann man immer noch verfeinern... Kommt halt darauf an, was du genau willst.

Woher ich das weiß:Berufserfahrung – Inhaber einer App-Agentur & 15+ Jahre Programmiererfahrung