counter bei seitenneuaufruf nicht weiterzählen...

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

  • counter bei seitenneuaufruf nicht weiterzählen...

    hi leute,

    bin grad dabei, meine website komplett neu mit Tables aufzuziehen um endlich von diesen blöden Frames weg zu kommen.
    Das Problem:
    in der index.htm habe ich 'nen php-counter der die zugriffe in eine txt schreibt (hab leider keinen SQL-DB Zugang). nun ist es aber so, dass bei Tables ja die komplette seite wieder neu geladen wird. gibt's da 'ne möglichkeit, wie ich das weiterzählen verhindern kann??

    CounterCode:
    <?php
    $file = "counter.txt"; // Dateizuweisung
    $ftp = @fopen($file,"r+"); // oeffnet die Datei
    $count = (int)fgets($ftp,50); // Holt die ersten 50 Zeichen
    $count++; // Addiert eine 1
    rewind($ftp); // Setzt Zeige auf 0. Position
    fwrite($ftp,$count); // Schreibt
    fclose($ftp); // Schliesst die Datei
    ?>
    $PHP resource 4ever$

  • #2
    Tja ... Cookie ... oder IP speichern ... fällt mir da spontan ein ...
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      ja, dass weiß ich auch.
      nur mit txt's und ohne DB wird's nur sehr langsam!

      ich hab mal 'nen JS counter gesehen, wo's gefunkt hat. und das ohne DB.
      muss doch mit php auch gehen!
      $PHP resource 4ever$

      Kommentar


      • #4
        Ja .. im Zweifen mit 'nem Cookie ... und das macht auch nix langsam ...
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          kannst du mir da für meinen fall ein bsp. coden??
          hab keine ahnung wie du das meinst!
          kommt man wirklich nicht am cookie+IP vorbei??
          bist du sicher, dass das nicht langsam wird wenn schon einige hundert zeilen in der txt drinnen stehen und php jedesmal die komplette txt einlesen, vergleichen und handeln muss??
          $PHP resource 4ever$

          Kommentar


          • #6
            counter

            Hallo, also ich geh jetzt mal von folgender Sachlage aus: Du willst vermeiden, dass im Laufe eines Visits der mehrmalige Aufruf der index gezählt wird. Es soll also nur beim ersten mal gezählt werden. Ob du noch irgendwelche anderen Daten erfassen willst als die reine Zahl der Aufrufe, hast Du leider nicht angegeben.

            Deswegen würde ich mir ja einfach mal ein Tool zur Logfile-Auswertung zulegen, das gibt es auch kostenlos, und das spart echt Arbeit.

            Wenn Du das aber unbedingt selbst machen willst, kannst Du ja auch an alle Links ein count=no oder sowas schreiben:
            Also:
            1. Aufruf der Datei
            2. Abfrage, ob $count gesetzt, wenn nicht wird gezählt
            3. mit: header("Location: -----url/datei?count=no---- ");
            wird zählen unterbunden, der count-status kommt an alle Links dran
            4. Und genau deswegen mach das vielleicht mit ner session, in der Du nach dem Starten $count registrierst und meinetwegen auf 1 setzt und damit dann weitere Zählungen unterbindest - Vorteil: die session-vars sind bei guter Server-Configuration (enable trans-id) immer vorhanden.

            Aber vielleicht kannst du nochmal klar stellen, was genau du zählen willst, es gibt nämlich auch noch andere Strategien.
            /* Meine Lieblingsantwort: Read The Fucking Manual */

            Kommentar


            • #7
              Ich würd vorschlagen, das du einfach ne Indexseite vor deine eigentliche Seite schaltest, so mit "ENTER"-Button oder so.
              Da kannste dann den Counter draufsetzen.

              Kommentar


              • #8
                @tortus:
                1. Tunnelseiten sind out.
                2. Wenn ich die Tunnelseite mehrfach aufrufe, kriege ich bei deiner Stimme auch mehrere Zähler.

                Lösung mit Cookie:
                PHP-Code:
                if (!$_COOKIES['meincounter'])
                {
                  
                // Cookie setzen, der beim Schließen des Browsers gelöscht wird:
                  
                set_cookie('meincounter'1);
                  
                // und den Counter auf dem Server hochzählen:
                  
                $file "counter.txt";
                  
                $ftp = @fopen($file,"r+");
                  
                $count = (int)fgets($ftp,50);
                  
                rewind($ftp);
                  
                fwrite($ftp, ++$count); // hochzählen und schreiben
                  
                fclose($ftp);

                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar


                • #9
                  VIelen Dank, Titus. Das is 'ne Lösung wie ich sie mir vorgestellt habe. werd das ganze in den nächsten tagen ma testen und dann bescheid geben.

                  AUCH MANY THXS AN DIE ANDEREN
                  $PHP resource 4ever$

                  Kommentar


                  • #10
                    @BenniOne

                    erstens ist dafür keine DB notwendig
                    und zweitens: Werbung gehört ins Forum User pages

                    Danke für deine Aufmerksamkeit.
                    mein Sport: mein Frühstück: meine Arbeit:

                    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                    Kommentar


                    • #11
                      was heißt hier werbung???? Wenn ich ihm nicht sage wo er mich erreicht, dann hat er ja gelost, und wenn er dann ein Thread Post "An Benny, wo finde ich dich" wird die doch gelöscht!!!
                      Sunshine CMS
                      BannerAdManagement
                      Borlabs - because we make IT easier
                      Formulargenerator [color=red]Neu![/color]
                      Herkunftsstatistik [color=red]Neu![/color]

                      Kommentar


                      • #12
                        Der cookie-vorschlag

                        Meiner Meinung nach ist die Lösung mit Cookies zwar praktikabel, hat aber den Nachteil, die Leute nicht zu erfassen, die die dinger abgeschaltet haben. Meines Wissens sind das unter 20%, aber immerhin.
                        Weis da jemand eine genaue Zahl, damit man die Relevanz des Problems abschätzen kann? Danke!
                        /* Meine Lieblingsantwort: Read The Fucking Manual */

                        Kommentar

                        Lädt...
                        X