Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Anpassung uniqe IP Visitor Count

Einklappen

Neue Werbung 2019

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

  • PHP Anpassung uniqe IP Visitor Count

    Hallo Leute,

    ich habe bei mir folgenden php code:

    PHP-Code:
    <li>
     <i class="aficon-eye"></i>
     <?php echo adifier_get_advert_views(); ?>
     &nbsp;&nbsp;#<?php the_ID() ?>
     &nbsp;&nbsp;<i class="aficon-calendar-alt"></i> <?php echo date_i18nget_option'date_format' ), get_the_time('U') ) ?>
     </li>
    und würde ihn gern erweitern:

    PHP-Code:
    <?php

               session_start
    (); // Should always be on top

               
    if(!isset($_SESSION['counter'])) { // It's the first visit in this session

                 
    $handle fopen("counter.txt""r"); 

                 if(!
    $handle){ 

                  echo 
    "Could not open the file" ;

                   } 

                  else { 

                    
    $counter = ( int ) fread ($handle,20) ;

                    
    fclose ($handle) ;

                    
    $counter++ ; 

                    echo
    " <p> Visitor Count: "$counter " </p> " 

                    
    $handle fopen("counter.txt""w" ) ; 

                    
    fwrite($handle,$counter) ; 

                    
    fclose ($handle) ;

                    
    $_SESSION['counter'] = $counter;

                    }




               } else { 
    // It's not the first time, do not update the counter but show the total hits stored in session

                 
    $counter $_SESSION['counter'];

                 echo
    " <p> Visitor Count: "$counter " </p> " ;

               }

    ?>

    das der Counter nicht ständig weiter nach oben zählt, wenn der User auf die Seite neu aufruft oder refresh drückt.

    Kann mir da jemand helfen.

    Vielen Dank

    Grüße
    Carsten

  • #2
    Zitat von Carsten Sachse Beitrag anzeigen
    Kann mir da jemand helfen.
    Dafür solltest du erstmal verraten wo dein Problem genau liegt …

    Kommentar


    • #3
      PHP-Code:
                      $counter = ( int ) fread ($handle,20) ;

                      
      $counter++ ; 

                      
      fwrite($handle,$counter) ; 

      Dein Code gekürzt, wenn vorhanden, lesen, erhöhen und schreiben.

      Kommentar


      • #4
        Problem ist das der Counter immer weiter zählt sobald man auf der Seite ist und auf Refresh drückt und es nicht anhand der IP geloggt wird. Ich weiß nicht wie ich ihn über php anpassen kann, da ich kein Profi darin bin.

        Kommentar


        • #5
          Zitat von Carsten Sachse Beitrag anzeigen
          Problem ist das der Counter immer weiter zählt sobald man auf der Seite ist und auf Refresh drückt und es nicht anhand der IP geloggt wird. Ich weiß nicht wie ich ihn über php anpassen kann, da ich kein Profi darin bin.
          Eine IP macht bei deinem Counter wenig Sinn, da mehrere User die selbe IP haben können.
          Irgendwas mit IP lese ich in Deinem Code auch nicht.

          Zudem sehe ich hier nichts fortgeschrittenes, lese bitte zukünftig die announce, bevor Du hier postet.

          Kommentar


          • #6
            Oh man was für Hilfe hier. Danke!

            Kommentar


            • #7
              Dein Script zählt einmal pro neuer Session hoch. Mit der IP hat das nichts zu tun.
              Das Script hast du wohl von Stackoverflow und läuft auch bei mir.
              Das auf die Besucher IP umzustellen scheint mir auch nicht sinnvoll.
              sorry, shift-taste kaputt

              Kommentar


              • #8
                Wenn du nicht programmieren kannst, suche doch bei Google einfach nach einem PHP counter, der deinen Vorgaben entspricht.
                Das Thema ist so alt wie das Web und da solltest du doch fündig werden.

                Kommentar


                • #9
                  Zitat von Meister1900 Beitrag anzeigen
                  Dein Script zählt einmal pro neuer Session hoch..
                  Stimmt, bin mit den if else durcheinadergekommen ...

                  Kommentar

                  Lädt...
                  X