Reload eines 'view'-counters

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

  • Reload eines 'view'-counters

    Ich habe es geschafft mir eine Galerie au zu bauen. Nun möchte ich einen Counter einbauen der Anzeigt wie oft ein Bild in voller größe gezeigt wurde! Das klappt jetzt auch schon, nur hätte ich halt gerne eine Realoadsperre... also, falls jemand in der Galerie herumblättert, und 'zufällig' 4 mal am gleichen Bild vorbeikommt, sollte der Counter nicht gleich um 4 erhöht werden.
    Ich habe leider keinen Plan wo ich da anfangen kann?! Mit welchen Mitteln läßt sich das am sinnvollsten realisieren?

    Gruß Stefan

  • #2
    session oder cookies

    Kommentar


    • #3
      Mit dem gedanken habe ich ja nun auch schon gespielt, aber wie??? wenn ich einen Cookie setze, erreiche ich das ziel nicht... denn wenn ich da z.B. time() hineinschreibe, dann zählt der counter nur beim 1. bild. beim 2. existiert dann ja der cookie und verhindert ja auch bei den nächsten bildern, die sich angeschaut werden, das dere counter zählt...

      mit session.... wie soll ich das realisieren...? ich habe da keinen plan wie ich das machen soll...

      ich versuche mal den dateinamen eines aufgerufenen bildes einer $_SESSION variablen als namen geben, und als wert 'time()'... so könnte es klappen...
      Oder was meint ihr???

      Gruß Stefan

      Kommentar


      • #4
        informiere dich über sessions und deren funktionsprinzip.

        es würde reichen, in einer session (aber zur not auch einem cookie) die ids all der bilder zu speichern, die der benutzer sich bereits angeschaut hat. der counter bezieht sich bei jedem aufruf auf diese liste und macht es davon abhängig, ob er den aufruf mitzählt oder nicht.

        Kommentar


        • #5
          Ich habe es geschafft... klappt wunderbar! Habe mit session gearbeitet!

          Code:
          if (!isset($_SESSION[$galerie[$pic_num]])) //Abfragen, ob die Variable gesetzt ist
          {
            include("php/db_zugriff.php");  //wenn ja, dann Datenbank öffnen...
          
            $sql="UPDATE galerie SET gezeigt=gezeigt+1 WHERE pfad='$galerie[$pic_num]'"; //...und den Counter um 1 erhöhen
          
            mysql_query($sql); // Daten in die Datenbank schreiben
          
            mysql_close(); //Datenbank schließen
          
            $_SESSION[$galerie[$pic_num]]=time(); //Die Session-variable mit dem datei-namen des Bildes erstellen - und time() als wert übergeben... hier nicht weiter von bedeutung...
          }

          Danke nochmal für die Hilfe!

          Gruß Stefan

          Kommentar

          Lädt...
          X