Hallo, ich habe ein Problem mit einem Useronlinescript bzw einen Denkfehler, weiß aber nicht wie ich ihn beseitigen kann.
Ich habe eine Tabelle, wo ich eine ID (Primarey Key) ip und Datum mit genauer Uhrzeit eintrage.
Die IP wird jeweil für eine Stunde gesperrt. Eine useronlinefunktion soll
die User der letzten 15 Minuten anzeigen. Dabei tritt das folgende Problem auf.
Es ist 10:00:00 uhr vormitags. Jemand kommt auf die Seite, seine IP WIRD eingetragen
und gleichzeitig für die kommenden 60 Minuten gesperrt(Reloadsperre).
ES ist 10:00:01
Der user WURDE nun vor einer Sekunde eingetragen und gesperrt. in den letzten 15 Minuten war ein user online.
Es wird 1 ausgegeben.
10:14
Dasgleiche wie bei 10:00:01
10:16
Der user ist immernoch auf der Seite und natürlich immernoch bis 11:16 (1h)gesperrt,
jetzt kommt es zu dem Problem, das 0 user angezeigt
werden, da der User ja um 10:00:00 eingetragen wurde und somit mehr als 15 minuten
vergangen sind. Die Funktion useronline zeigt ja immer nur die Onlineuser zwischen now() und den letzten 15 Minuten an.
Wenn die Useronlinefunktion alle Leute der letzten stunde anzeigen würde, wäre das alle kein Problem. Ich möchte aber die User der letzten 15 minuten ausgeben.
gibt es eine Lösungsmöglichkeit, wie ich das Problem mit der Tabellenstruktur
ID,IP, DAtUM lösen kann?
grüße Zabarax
Ich habe eine Tabelle, wo ich eine ID (Primarey Key) ip und Datum mit genauer Uhrzeit eintrage.
Die IP wird jeweil für eine Stunde gesperrt. Eine useronlinefunktion soll
die User der letzten 15 Minuten anzeigen. Dabei tritt das folgende Problem auf.
Es ist 10:00:00 uhr vormitags. Jemand kommt auf die Seite, seine IP WIRD eingetragen
und gleichzeitig für die kommenden 60 Minuten gesperrt(Reloadsperre).
ES ist 10:00:01
Der user WURDE nun vor einer Sekunde eingetragen und gesperrt. in den letzten 15 Minuten war ein user online.
Es wird 1 ausgegeben.
10:14
Dasgleiche wie bei 10:00:01
10:16
Der user ist immernoch auf der Seite und natürlich immernoch bis 11:16 (1h)gesperrt,
jetzt kommt es zu dem Problem, das 0 user angezeigt
werden, da der User ja um 10:00:00 eingetragen wurde und somit mehr als 15 minuten
vergangen sind. Die Funktion useronline zeigt ja immer nur die Onlineuser zwischen now() und den letzten 15 Minuten an.
Wenn die Useronlinefunktion alle Leute der letzten stunde anzeigen würde, wäre das alle kein Problem. Ich möchte aber die User der letzten 15 minuten ausgeben.
gibt es eine Lösungsmöglichkeit, wie ich das Problem mit der Tabellenstruktur
ID,IP, DAtUM lösen kann?
grüße Zabarax
Kommentar