Einfaches Hit Counter Plugin


Erstellen Sie einen einfachen Hitcounter und Besuchszähler als Pico Plugin. Dieser Counter zählt Aufrufe von Menschen oder Robots der Suchmaschinen.

Einfaches Counter-Plugin

Dieser Beitrag zeit Ihnen das Coding für ein einfaches Hit-Counter Plugin für das populäre Pico CMS. Es zählt lediglich die Zugriffe auf jeden einzelnen Beitrag ohne die IP Adresse des Lesers zu speichern oder gegen doppelte Zählung zu sperren.

001  <?php
002  class counter extends AbstractPicoPlugin {
003
004      // Damit das Plugin seine Arbeit aufnehmen kann, muss der Ordner Statistik in der root
005      // der Domain existieren. Legen Sie diesen Ordner ggf. von Hand an.
006
007      public function onRequestUrl($url) {
008          $urlsection = explode("/", $url);
009          $datei = $urlsection[count($urlsection)-1];
010        
011          if (count($urlsection) == 1) {
012              $datei = "statistik/index";
013          } else {
014              $datei = "statistik/".$datei;
015          }
016
017          $zahl  = 0;
018
019          if(file_exists($datei)){
020              $zahl = file_get_contents ($datei);
021              if ($zahl < 9999999) {
022                  $zahl++; // Schutz gegen Ueberlauf
023              }
024              file_put_contents($datei, $zahl);
025          } else {
026              file_put_contents($datei, '1');
027          }
028      }
029  }
030  ?>

Code

Damit das Plugin counter.php funktioniert, legen Sie bitte ein Verzeichnis statistik auf der root-Ebene an und kopieren das PHP-Script in den Ordner plugin, dort wird es automatisch von Pico CMS gestartet.

Dreh und Angelpunkt des Scriptes ist der Hook onRequestUrl(), diese Methode wird vom Pico CMS Framework in allen Plugins gerufen und ausgeführt. Die Methode berkommt dann die vom Leser angeforderte URL übergeben, die im obigen Code eine gleichnamige Datei erzeugt (wenn noch nicht vorhanden) und den Counter um +1 erhöht.

Sie können die Statistik auslesen, indem Sie den Ordner http://domain.de/statistik/countername eingeben, wobei countername der URL-Name des einzelnen Beitrags ist. Wollen Sie beispielsweise den Counter zum Beitrag impressum erfahren, können Sie folglich http://domain.de/statistik/impressum eingeben und der Inhalt wird im Browser angezeigt.

Hinweis | Das Script ist wirklich sehr einfach gehalten und soll daher eher als Grundlage für weitere Implementierungen dienen. Natürlich können Sie es auch so nutzen wie es dort abgebildet steht. Bedenken Sie bitte, das dieses Script bei jedem Besuch oder bei Refresh mit F5 im Browser auch immer +1 zählt. Sie müssen selbst entscheiden wie realistisch dieser Counter für Sie ist, denn auch Robots zählt das Programm mit.


Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Sprachen bzw. Markup-Dialekten, z.B. Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 25 Jahren arbeite ich in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen.

FlightCMS
2024-01-28
PHP8
post
Kontakt@Oliver-Lohse.de

Datenschutz

Die Webseite verwendet keinerlei Tracking- oder Speichermechanismen, die einen Rückschluss auf das Leserverhalten und Ihre Identität zulassen. Die Webseite verwendet keine Cookies, denn Cookies haben einen schlechten Ruf.

Impressum

CMSWorkbench ist eine Entwicklerseite über meine Arbeit im Bereich der Content Management Systeme. Die vielen Codeschnipsel sind im wesentlichen als kleine Notizzettel zu werten als das es ausgereifte Beiträge wären.