Hits zählen

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

  • Hits zählen

    Hi erstmal ... ich habe eine Linkliste über PHP und MySQL erstellt.
    Ich möchte eine zusätzliche Tabelle anlegen, in der die Aufrufe der URLs (target=_blank) gezählt werden. Die gezählten Hits sollen dann wieder in meine Linkliste als Anzahl Besucher: XX angezeigt werden, eine Art Statistik. Hab hier schon rumgestöbert aber nix passendes gefunden.

    Das ist ja nichts anderes als einen Counter für die jeweilige URL, die ich in der Linkliste habe.

    Hat jemand eine Idee? Danke im voraus ... Herzliche Grüsse MaeeTso

  • #2
    Re: Hits zählen

    verlinke nicht direkt auf die anderen seiten, sondern auf ein script von dir, dem du die eigentlich zu verlinkende seite (oder eine ID für diese) als parameter übergibst.

    lass dieses script zuerst einen eintrag in deine DB machen, zählerstand für jeweiligen URL um eins erhöhen, und anschliessend per header() auf den URL weiterleiten.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Bin wahrscheinlich doch zu blöd dafür. Ich habe versucht mit Parameter die ID und URL zu übergeben. Funzt auch ... Dann hab ich die Datenbank erstmal ausgelesen und versucht $counter=$counter++; zu setzen (noch ist in der Datenbank das Feld "counter" auf 0, also hab ich mit 0 angefangen. Dann hab ich mittels UPDATE tabelle die einzelnen Zellen zurückschreiben lassen. Allein das funzt schon nicht ... irgendwie ist da der Wurm drin ... auch meine schlauen Bücher helfen heir nich so viel weiter ...
      Der HEADER(Location: $url) funzt dann ebenfalls nicht. Muss der header() nicht an erster Stelle stehen, bevor der PHP Code ausgeführt wird?
      Habs dann auch mal mit refresh versucht. Hat zwar geklappt, aber die Daten wurden mit UPDATE nicht zurückgeschrieben. Es kann doch auch nicht daran liegen, dass "counter" int(5) ist, oder?

      Kommentar


      • #4
        Meine Glaskugel ist ein bisschen trüb, könntest du uns den Code zeigen?
        PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

        Kommentar


        • #5
          PHP-Code:
          UPDATE     tabelle
          SET    hits 
          hits+1
          WHERE     id 
          '$id' 
          so ungefähr müsste der query aussehen.

          Und der Header darf nur vor keiner HTML Ausgabe stehen.
          Für mehr Hilfe, wird wohl ein wenig Code benötigt
          Für Rechtschreibfehler übernehme ich keine Haftung!

          Kommentar


          • #6
            Habs versucht, aber funzt nich ...
            hab über den Link auf die url.php?ID=xx&url=XXXXXXX verlinkt.
            Die Verlinkung läuft einwandfrei, aber der zählt die hits nicht hoch.

            <?
            include("dbopen.php");
            $hits=$hits++;
            $rs = mysql_db_query($dbname, "UPDATE linkliste SET hits='$hits' WHERE ID='$ID'");
            header ("Location: $url");
            exit; ?>

            was mach ich noch falsch?

            Kommentar


            • #7
              $hits hat doch bei dir noch gar keinen Wert zugewiesen bekommen, oder befindet sich der in der includeten Datei? Du erhöhst $hits, ohne vorher überhaupt definiert zu haben, wie gross es vorher war?! Mach das doch so z.B.:

              PHP-Code:
              $aendern "UPDATE linkliste SET hits=hits+1 WHERE ID='$ID'";
              $update mysql_query($aendern); 
              In der "Langform" . Und lass Dein merkwürdiges $hits=$hits++; weg...

              Btw: Vergewissere dich auch, dass eine Verbindung zur DB besteht...Aber ich glaube, daran liegt es in dem Falle nicht...

              Zuletzt geändert von Etienne; 08.02.2004, 01:31.

              Kommentar


              • #8
                Danke, Danke ... es hat schon so geklappt ... Mercy und herzlichen Dank für Eure Hilfe ... hab den Fehler gefunden ...

                Kommentar


                • #9
                  Wo lag er denn? Dennoch würde ich dir eher zu obigem mysql update raten!

                  Kommentar


                  • #10
                    hmm,

                    und ich würde dir raten, nur die id zu übergeben, die url ist doch durch die id bekannt ....
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      Hey Leute...
                      war ganz leicht, nur kurz eine Frage anbei:

                      wie frage ich die URL für nur den einen Datensatz ab, um ihn in der Variablen $url zu speichern? Sorry, aber bisher mache ich das immer noch mit einer for-Schleife und bei genau einem Feldwert eines Tupels ist das völlig überflüssig, hab aber auch in meinem Buch die Lösung nicht gefunden.

                      Rock On.
                      ------------
                      man wächst mit seinen aufgaben

                      Kommentar


                      • #12
                        Original geschrieben von schabicks
                        wie frage ich die URL für nur den einen Datensatz ab, um ihn in der Variablen $url zu speichern? Sorry, aber bisher mache ich das immer noch mit einer for-Schleife und bei genau einem Feldwert eines Tupels ist das völlig überflüssig,
                        Eine Schleife benutzt du, um etwas mehrmals zu machen.

                        Was machst du also, wenn du sicher weisst, dass du etwas nur einmal machen möchtest - die Schleife drumherum weglassen vielleicht ...?
                        hab aber auch in meinem Buch die Lösung nicht gefunden.
                        Bücher dienen ja auch nicht zum Ersatz logischen Denkens.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Also eine andere Variante ist auch den Link auf ein Framset zu leiten, damit oben immer eine Spalte deiner Seite bleibt:

                          PHP-Code:
                          <?php
                          include_once("db_conf.php");

                          if(
                          is_numeric($_GET['id']) && $_GET['url'] != ''){

                          mysql_query('UPDATE os_archiv SET hits=hits+1 WHERE pk = '.mysql_quote($_GET['id']).';');

                          echo 
                          '<frameset  rows="28px,*">
                                    <frame name="frame" src="frame.php?url='
                          $_GET['url'] .'" marginwidth="5" marginheight="5" 
                          scrolling="no" frameborder="1">
                                    <frame name="content" src="'
                          $_GET['url'] .'" marginwidth="5" marginheight="5" 
                          scrolling="auto" frameborder="1">
                                </frameset>
                               '
                          ;   


                                   
                          }else{
                            echo 
                          'Falsche ID!';
                          }
                          ?>
                          Killerspiele sollten in der Größenordnung von Kinder********************grafie eingeordnet werden.(G. Beckstein)
                          - ...und solche Behauptungen in "falsches Resourcenmanagement"

                          Kommentar


                          • #14
                            @Wasaga

                            Ich wollte bloß überprüfen, ob ihr noch das logische Denkvermögen besitzt
                            ------------
                            man wächst mit seinen aufgaben

                            Kommentar

                            Lädt...
                            X