Besucherzähler...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Besucherzähler...

    Heyho...ich bin Anfänger und bringe mir gerade selbst PHP bei.

    Ich wollte einen Besucherzähle programmieren und habe dies - glaube ich - auch recht gut hingekriegt.....aber zaehldat.txt (Inhalt:"0") verändert sich nicht....ich bin immer Besucher 0 .... warum? vielleicht aknn mir jemand weiterhelfen, hier der Code:


    <?php

    $fname="zaehldat.txt";

    if(file_exists($fname))
    {
    $fp=fopen($fname, "r");
    $zaehler=fread($fp,filesize($fname));
    fclose($fp);

    if(is_writeable($fname))
    {
    $fp=fopen($fname,"w");

    $zaehler=$zaehler++;
    fwrite($fp, $zaehler);
    flock($fp,3);
    fclose($fp);
    echo"Sie sind besucher Nummer ".$zaehler." !";
    }
    else
    echo"Kein Schreibzugriff!";
    }
    else
    echo"Datei existiert nicht!";

    ?>


    im gleichen verzeichnis befindet sich zaehldat.txt (als anhang in dem Thread)

    Wäre für Hilfe unschätzbar dankbar.....

    LG
    flying_dutchman
    Das, was du mit deinem Programm machen willst, steht nicht im Handbuch!

  • #2
    Was mir zuerst auffiel, war diese Zeile:
    $zaehler=$zaehler++;

    $zaehler++; reicht vollkommen.

    Ansonsten würdest du es anderen viel leichter machen überhaupt an dein Problen ranzugehen, wenn du 1. deinen Programmcode ordentlich einrückst, damit man erkennt wozu die Klammern jeweils gehören und 2. den PHP-Tag des Forums verwendest. Dankeschön Ist ja nur zu deinem Gunsten.

    Außerdem fällt mir gerade auf, dass eine geschweifte Klammer vor dieser Zeile fehlt:
    echo"Kein Schreibzugriff!";
    (Siehst du, das hätte man sofort gesehen, wenn der Code eingerückt wäre Ist also nur von Vorteil)

    Der Fehler ist flock($fp,3); und wie gesagt $zaehler=$zaehler++;! Wenn du das weglässt, $zaehler++ machst und ein paar Klammern an die richtigen Stellen setzt, klappts:

    PHP-Code:
    <?php
    $fname 
    'zaehldat.txt';

    if (
    file_exists($fname)) {
        
    $fp fopen($fname"r");
        
    $zaehler fread($fp,filesize($fname));
        
    fclose($fp);

        if (
    is_writeable($fname)) {
            
    $fp fopen($fname,"w");
            
    $zaehler++;
            
    fwrite($fp$zaehler);
            
    fclose($fp);
            echo 
    "Sie sind besucher Nummer ".$zaehler." !";
        } else {
            echo 
    "Kein Schreibzugriff!";
        }
    } else {
        echo 
    "Datei existiert nicht!";
    }
    ?>
    Beachte aber, dass das ein Hitcounter ist Bei jedem Seiten-Aufruf erhöht sich der Counter um eins.

    Gruß,
    Flo.
    Zuletzt geändert von Fl0; 20.01.2006, 22:28.

    Kommentar


    • #3
      http://www.php-resource.de/forum/sho...threadid=50454


      nicht vergessen vor dem posten in einem fremden forum auch die regeln von selbigen durchzulesen! danke
      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
      var_dump(), print_r(), debug_backtrace und echo.
      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

      Kommentar


      • #4
        Danke, Danke, Danke.....

        ich hatte den Code an und für sich eingerückt aber das Forum hats dann wieder entrückt......aber jetzt kenn ich ja die PHP-Funktion!

        Danke, Danke!

        LG
        fD
        Das, was du mit deinem Programm machen willst, steht nicht im Handbuch!

        Kommentar

        Lädt...
        X