Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme Counter

Einklappen

Neue Werbung 2019

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

  • Probleme Counter

    Hallöchen,

    ich habe ein kleines Problem wie Ihr euch sicher schon denken könnt. Ich habe mit hilfe von Büchern und Codezeilen aus dem Internet einen "simplen counter" zusammen gebastelt. Dieser schaut so aus =>

    PHP-Code:
    <?php
    if (file_exists("besucher.txt")) {
         
    $fp=fopen("besucher.txt""r+");
         
    $count=fgets($fp,6);
         
    $count++;
         
    rewind(§fp);
         
    fputs(§fp,§count,6);
         
    fclose($fp);

         } else {

         
    $fp=fopen("besucher.txt","w");
         
    $count ="1";
         
    fputs(§fp,§count,6);
         
    fclose($fp);

     }
    ?>

    Leider habe ich das Problem das er die Ziffer nicht in die Datei schreibt. Sofern die Datei nicht existiert legt er diese an so wie er soll. Aber er schreibt die neue Zahl nicht in die Datei. Ich habe auch schon die 1 manuell in die Datei eingetragen aber seitdem bleibt der Counter bei 2 stehen, da er die Ziffer nach der inkrementierung einfach nicht einträgt.
    Was mache ich hier falsch !

    Grüsse Alexfaust77

  • #2
    PHP-Code:
    §fp 
    Variablen bezeichnet man in PHP mt $ nicht mit §.

    Sieh dir auch mal die Funktionen file_get_contents und filt_put_contents an. Damit kannst du dir die ganzen Dateifunktionen sparen.

    Kommentar


    • #3
      PHP-Code:
       <?php
      if (file_exists("besucher.txt")) {
           
      $fp=fopen("besucher.txt""r+");
           
      $count=fgets($fp,6);
           
      $count++;
          
      rewind($fp);
          
      fputs($fp,$count,6);
           
      fclose($fp);

           } else {

           
      $fp=fopen("besucher.txt","w");
           
      $count ="1";
        
      fputs($fp,$count,6);
           
      fclose($fp);

       }
      ?>
      Es funktioniert doch!
      $>§

      Kommentar


      • #4
        Warum so umständlich? Dateizeiger würd ich nur verwenden wenn ich wirklich muss. Dein Code kann eignetlich als Einzeiler(Unter Missbrauch ternärer Operatoren) gelöst werden.
        PHP-Code:
        <?php
        // Einzeiler: 
        file_exists('counter') ? file_put_contents('counter'$current_count intval(file_get_contents('counter'))+1):file_put_contents('counter'$current_count 1);
        // Ergebnis steht in $current_count
        var_dump($current_count);


        // Sauberer:
        if(file_exists('counter')){
            
        file_put_contents('counter'$current_count intval(file_get_contents('counter'))+1);
            
        // Ausgeschrieben:
            /*
            $count = intval(file_get_contents('counter'));
            $current_count = $count + 1;
            file_put_contents('counter', $current_count);
            */
        }
        else{
            
        file_put_contents('counter'$current_count 1);
        }
        var_dump($current_count);
        Keine Garantie auf Syntaxfehler, da in Forum getippt.

        Kommentar


        • #5
          Schreib es bitte nicht als Einzeiler

          Noch schöner wäre es vielleicht sogar so:
          PHP-Code:
          $file "counter";
          if(
          file_exists($file)) {
               
          $counter = (int) file_get_contents($file);
          }
          else {
               
          $counter 0;
          }
          $counter++;

          $file_put_contents($file$counter); 

          Kommentar


          • #6
            hallo,

            sorry das ich jetzt erst antworte Kam leider die letzten Tage nicht wirklich dazu.

            Vielen Dank an alle Helfer und die hier geantwortet haben. Ich weis gar nicht wie das falsche Symbol übersehen konnte.

            Vielen Dank auch für die nützlichen Tipps und verbesserungen

            Ich wünsche auch allen ein erfolgreiches und gesundes 2013.

            Grüsse alexfaust77

            Kommentar

            Lädt...
            X