Tom: Einfacher PHP Counter

Beitrag lesen

Hello,

Hey,
ich habe folgendes Script geschrieben:

<?php
            $datei = fopen("counter.txt","r+");
            $counterstand = fgets($datei, 10);

if ($_COOKIE['User'] != '10')
        {
            $counterstand++;
            setcookie("User", "10", time()+606024);
            echo "<br><p class="artikel">Besucher:<br>$counterstand</p>";
            rewind($datei);
            fwrite($datei, $counterstand);
            fclose($datei);
        }
    else
        {
            echo "<br><p class="artikel">Besucher:<br>$counterstand</p>";
            rewind($datei);
            fwrite($datei, $counterstand);
            fclose($datei);
            }
?>

  

> Doch irgendwo muss ein Fehler sein, da der Zähler jeden klick zählt!..  
> Vielleicht kann mir jemand weiterhelfen.  
  
Leider hast Du versäumt, zu beschreiben, was die Programmlogik denn überhaupt tun soll.  
Unter "Klick" verstehst Du vermutlich einen Request auf die Ressource, die den "Zähler" enthält?  
  
Da Du mit Cookies arbeitest, nehme ich an, dass Du nur Requests von Clients zählen willst, die keinen passenden Cookie mitsenden?  
  
Einen weiteren aktiven Thread zu diesem Thema wird es von Dir ja ganz bestimmt nicht geben in diesem Forum, weil Du den dann fortgesetzt hättest, anstatt einen neuen aufzumachen, oder? :-))  
  
Deine Fehler:  
  
- Keine Nebenläufigkeitsfähigkeit des Codes  
  <http://aktuell.de.selfhtml.org/artikel/programmiertechnik/dateisperren/>  
  
- Flasche Abfrage von Globalen Variablen, die nicht immer vorhanden sind  
  
  erst mit  
  
      if (isset($\_COOKIE['user'))  
  
  festsstellen, ob überhaupt ein Cookie vorhanden ist.  
  
- Ausgabe nicht in die Steuerlogik des Programmes verlegen, sondern in einem  
  gesonderten Ausgabeteil des Programmes ungterbringen.  
  
- Am besten die Aufgaben in Funktionen verpacken, die an geeigneter Stelle dann  
  nur noch aufgerufen werden müssen und immer wieder verwendet werden können.  
  Auch \_deshalb\_ Berechnung und Darstellung von Ergebnissen nicht mischen!  
  
  
  
  
Liebe Grüße aus dem schönen Oberharz  
  
  
Tom vom Berg  
![](http://selfhtml.bitworks.de/Virencheck.gif)  
  

-- 
 ☻\_  
/▌  
/ \ Nur selber lernen macht schlau  
<http://bergpost.annerschbarrich.de>