Counterfrage

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

  • Counterfrage

    Ich schreibe gerade an meiner Hp und hab auch schon den größten Teil der PHP Scripts erfolgreich geschrieben(GB, Newsscript&Commentfunction, etc) nun überlege ich bei dem ja eigentlich simplen Counterscript und bin mir nicht ganz schlüssig. Ich möchte, dass wirklich nur ein Besuch gezählt wird und nicht bei jedem Anklicken eines Links auf der Seite sich der Counter erhöht. Dazu überlege ich die IP des Besuchers eine gewisse Zeit zu speichern(ist das rechtlich ok?) oder eine Session einzurichten... Was ist eurer Meinung nach der beste und einfachste Weg dass zu gewährleisten? Anders als ein GB Spamschutz muss es ja nicht 100% sicher sein.
    Zuletzt geändert von (05@; 07.05.2006, 22:05.

  • #2
    Re: Counterfrage

    Um den Besucher zu identifizieren solltest du am besten seine IP samt zeitpunkt speichern, am besten dann via Cronjob oder so, alle 24 Stunden das db table mit den gespeicherten IPs, und anderen infos dann leeren.


    Sers
    Der Boris

    Kommentar


    • #3
      in anbetracht wechselnder IPs...

      Kommentar


      • #4
        80% der internet User die sich von zuhause aus einwählen, benutzen einen Router, ergo ist die warscheinlichkeit das sich die IP erst nach 24 Stunden bzw. der zwangstrennung ändert sehr gross!

        Coockies oder gar Sessions sind für besucherstatistiken meiner meinung nach gänzlich ungeeignet.

        Kommentar


        • #5
          Danke. Werds dann wohl so machen(evtl. statt Cronjob nen script, mal sehen)

          Kommentar


          • #6
            Besuchsbegriff definieren: alle xx Stunden zusammen = ein Besuch. "Ein gezählter begonnener Besuch verfällt nach xx Stunden seit entweder Anfang, oder seit letzter Aktivität. "

            Dies durchsetzen mit allen möglichen Mitteln, weil ein Mittel alleine nicht ausreicht, als Hauptmittel das Cookie, als Ausweichmittel die IP. Die Session ist ja auch ein Cookie, sonst würde ich die Session dazunehmen,URL-Sessions sind overkill).

            Nur die Aufrufe von index.php zählen.

            In meinem Land gibts keine Zwangstrennung.

            Kommentar


            • #7
              Original geschrieben von (05@
              Danke. Werds dann wohl so machen(evtl. statt Cronjob nen script, mal sehen)
              Cronjobs sind aber praktischer!
              Wenn du selbst keine Cronjobs nutzen kannst dann gibt es immernoch genug Anbieter von Free-Cronjobs, über die Boardsuche findest du auch diese

              Kommentar


              • #8
                mhh ja muss mich dann mal mit Cronjobsbeschäftigen, z.Z. läuft das ganze noch zum testen auf nem lokalen server.

                @vierteln:naja cookies sind sone Sache, ich denke mal ein erheblicher Teil der User hat die standartmäßig nicht erlaubt. Bei den meisten Anbiertern gibt es afaik Zwangstrennung und ich weiß nicht, so große Fehler wird das schon nicht erzeugen oder? Ne gewisse Toleranz so +/-5% oder so sind schon ok für meine Zwecke.

                ps:Bei mir läuft eh alles über index.php das Anzeigen von verschiedenen Seiteninhalten regel ich über $_GET.
                Zuletzt geändert von (05@; 07.05.2006, 23:04.

                Kommentar


                • #9
                  ich finde, dass session, dafür am bestens geeignet sind.
                  ein mal in sessionvariable ein wert setzen und counter erhöhen.
                  danach nur in session nachschauen ob die variable gesetzt ist.
                  da session nach bestimter zeit automatisch verfällt, brauchst du keine zusätzliche lösch und kontrollmechanismen
                  Slava
                  bituniverse.com

                  Kommentar


                  • #10
                    Original geschrieben von boris-schneider
                    80% der internet User [...]
                    Und eine Fehlerquote von 20% (bzw. eigentlich wohl mehr, weil bei diesen 20% dann ja jeder Hit als Visit gezählt würde) findest du akzeptabel?

                    Also einen Counter mit so einer "Genauigkeit" kann man m.E. per rand() einfacher realisieren ...
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      @wahsaga:Es wird ja keine so hohe Fehlerquote geben, weil die wenigsten Leute sie ausloggen werden und danach weiter auf der Seite surfen werden.

                      @Slava:Wie übergeb ich dann am besten die Sessiondaten?Mit $_POST?Die müssten ja sozusagen immer im Hintergrund gesetzt bleiben.

                      Kommentar


                      • #12
                        Original geschrieben von (05@

                        @Slava:Wie übergeb ich dann am besten die Sessiondaten?Mit $_POST?Die müssten ja sozusagen immer im Hintergrund gesetzt bleiben.
                        ich glaube, dass es am besstens ist , wenn du ein kleine Tutorial über session und das wird dir in keinem fall schaden.
                        befor du es verstanden hast, muss du aber mit mehreren fehlermeldungen auseinander setzen aber am ende lohnt es sich schon.
                        wenn du ein mal session gesetzt hast, dann brauchst du dir keine sorgen bei übergabe zu machen, das macht php bei richtigen einstellungen für dich von alleine.
                        erst mal mach
                        PHP-Code:
                        session_start();
                        //dabei muss du aufpassen, dass vor dieser function keine einzige
                        //ausgabe kommt. sogar ein lehrzeichen in script führt zu fehlermeldung
                        if(!isset($_SESSION['angemeldet']))//ist nicht angemeldet
                        //counter erhöhen und variable setzen
                        {
                          
                        $_SESSION['angemeldet']=1;
                          
                        //deine code für erhöhen von counter in db oder datei

                        mehr muss auch nichts sein
                        Slava
                        bituniverse.com

                        Kommentar


                        • #13
                          Aso ja, hatte noch nicht damit gearbeitet. Danke!

                          Kommentar


                          • #14
                            Ich würde das ganze über ne mySQL DB machn, wenn du schon Gästebuch etc auf der HP hast, ist das wahrscheinlich keine große Sache da noch was für den Counter zu machn.
                            Tabelle mit IP und Timestamp (und ID)
                            jedesmal wenn Seite aufgerufen wird, prüfen ob IP schon in DB is
                            - wenn nicht neuen Eintrag machn und Counter erhöhen
                            - wenn ja gucken wie lange der Timestamp her ist und keinen Counter erhöhen bzw neu setzen! je nachdem
                            Mess with the Besth, die like the rest!

                            Kommentar

                            Lädt...
                            X