Zugriffe von jedem Benutzer zählen

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

  • Zugriffe von jedem Benutzer zählen

    Hallo ich habe ein Mitgliederbereich geschrieben wo sich jeder Benutzer mit seinem Passwort einloggen kann (auf MYSQL Basis) jetzt würde ich gerne einen Counter haben der bei jedem Login des entsprechenden Benutzers den Wert um 1 erhöt.
    Die Ausgabe sollte also am beste so aussehen Benutzer 1 hat sich 3 mal eingeloggt Benutzer 2 20 mal Benutzer 3 4 mal usw. evebtuell noch mit entsprechenden datum jeweils dabei (muss aber nicht unbedingt.
    Nur finde ich für die ganze sache überhaupt keinen Lösungsansatz es wäre ganz toll wenn mir da eine helfen könnte.

  • #2
    Entweder Du speicherst in jedem Benutzer-Datensatz die Anzahl der Logins und das letzte Login.

    (UPDATE userdaten SET logincount=logincount+1, lastlogin=NOW() WHERE userid=???)

    oder du erstellst eine zusätzliche Tabelle mit 'nem LoginProtokoll:

    Code:
    CREATE TABLE loginlog (
    	userid INT(11) UNSIGNED NOT NULL,
    	logindate DATETIME NOT NULL,
    	PRIMARY KEY (userid, logindate)
    );
    in der Du die Logins Protokollierst ... und dann mit

    SELECT userid, COUNT(*) AS logincount, MAX(logindate) AS logindate
    FROM loginlog
    GROUP BY userid

    abfragst ...
    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
      also erst mal danke für die hilfe die sache mit der extratabelle währe schon interresannnter aber so richtig verstehe ich das nicht kannst du mir das noch etwas erläutern.
      die anmeldung erfolgt mit username und passwort dann kommt mann auf eine menüseite der username wird mit einer session weitergeben nur wie muss jetzt der datenbankeintrag für die tabelle aussehen und bekomme ich für die lösung mit der extra tabelle auch die anzahl der logins?

      Danke im voraus

      Kommentar


      • #4
        Du wirst ja in irgendeinem Script das Benutzername und Kennwort prüfen und Dir dann in der Session speichern welcher Benutzer in der aktuellen Session eingelogged ist ...
        Nachdem du den Benutzer also kennst protokollierst du das Login

        INSERT INTO loginlog (userid, logindate) VALUES ($userid, NOW())

        Das Statement:

        SELECT userid, COUNT(*) AS logincount, MAX(logindate) AS logindate
        FROM loginlog
        GROUP BY userid

        generiert eine Liste aller Benutzer mit der Anzahl der Logins (logincount) und dem letzten Login (logindate).

        für einen einzelnen Benutzer:

        SELECT COUNT(*) AS logincount, MAX(logindate) AS logindate
        FROM loginlog
        WHERE userid=$userid
        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
          das funzt super
          vielen herzlichen dank

          Kommentar

          Lädt...
          X