Stefan: Probleme mit dem Counter

Hi,

habe folgenden counter in meine Seite einbauen wollen :

<?
$datei_name = "counter.txt";
if (!file_exists($datei_name)) {
$dz = fopen($datei_name, "w");
fwrite($dz,"1");
fclose($dz);
}
$dz = fopen($datei_name,"r");
$counter = fread($dz, 10);
fclose($dz);
$counter++;
$dz = fopen($datei_name, "w");
fwrite($dz, $counter);
fclose($dz);
?>

<p> You are number: <?=$counter;?>. </p>

Hab mich beim ganzen an einer Anleitung aus nem Buch orientiert...Nur irgendwo steckt dem was ich da gemacht hab der Wurm drinne...Hat jemand von Euch eine Idee woran das liegen könnte?

mfg
Stefan

  1. hi,

    Nur irgendwo steckt dem was ich da gemacht hab der Wurm drinne...

    Böser Wurm.

    http://forum.de.selfhtml.org/hilfe/charta.htm#tipps-fuer-fragende

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hallo!

    Hab mich beim ganzen an einer Anleitung aus nem Buch orientiert...Nur irgendwo steckt dem was ich da gemacht hab der Wurm drinne...Hat jemand von Euch eine Idee woran das liegen könnte?

    Was heißt Wurm? Was für Fehlermeldungen bekommst du?
    Hat der PHP Prozess auch Schreibrechte in dem Verzeichnis um eine Datei anlegen zu dürfen?

    mfg
      frafu

  3. Hello,

    Hab mich beim ganzen an einer Anleitung aus nem Buch orientiert...Nur irgendwo steckt dem was ich da gemacht hab der Wurm drinne...Hat jemand von Euch eine Idee woran das liegen könnte?

    Darin stecken wahrlich mehrere Würmer. Das ist eigentlich schon eine ganze Wurmfarm :-))

    • Keine Fehlerbehandlung
        damit solltest Du erstmal anfangen

    • kein File-Locking
        ...

    • kein Format-Check
        Es wird nicht geschaut, ob überhaupt ein valider Wert in der Datei steht

    • keine atomare Kapselung
        Datei wird einmal fürs Lesen und einmal fürs Schreiben geöffnet
        Das darf nicht sein, wenn sich der Prozess atomar verhalten soll

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau