Automatischer Logout nach bestimmter Zeit

Hallo

möchte dass ein Code nach bestimmter Zeit ausgeführt wird, sagen wir immer so nach 10 Minuten.
Wie realisiere ich das grundsätzlich?

Danke

[quote=“Joacheg”]möchte dass ein Code nach bestimmter Zeit ausgeführt wird, sagen wir immer so nach 10 Minuten.
Wie realisiere ich das grundsätzlich?[/quote]
Wenn du etwas alle 10 Minuten ausfuehren lassen wolltest, waere das Stichwort Cronjob.

Abgesehen davon, dass es die bei bplaced aber nicht gibt, passt das auch nicht zum Titel deiner Frage.
Wenn du willst, dass der Nutzer nach 10 Minuten nicht mehr als eingeloggt gilt - dann merke dir den Zeitpunkt seiner letzten Aktion in der Session, und betrachte bei seiner naechsten Aktion die Differenz zum aktuellen Zeitpunkt, und entscheide dann ueber seinen Status.

Stimmt, sowas wollte ich eigentlich…
Danke für den Denkanstoß.

Aber ich hab noch ein anderes Problem wo ich allein wohl nicht draufkomme.

Ich möchte auf der Site anzeigen, welche User gerade eingeloggt sind…kennt man ja von vielen Foren etc.

Ich habe das bisher so gelöst: Wenn sich ein User einloggt, wird sein Status in einer MySQL Tabelle auf “online” gesetzt.

Die User die gerade online sind, werden also durch eine simple Abfrage ermittelt. Wenn der User sich abmeldet, wird der Status wieder aus “Offline” gesetzt.

Jetzt aber das Problem: Wenn er sich nicht abmeldet bleibt der Status ja weiterhin online. Deswegen wollte ich irgendeinen Counter einbauen, der den Status automatisch auf offline setzt wenn es keine Aktiviät seit bspw. 20 Minuten gegeben hat.

Wie realisier ich das?

Ganz genauso vielleicht …?

Wenn du den Zeitpunkt der letzten Aktivitaet in der DB ablegst - dann kannst du doch wohl auch die zaehlen, bei denen dieser nicht laenger als x Minuten her war.

Hmm klingt logisch^^

mal schaun ob ich das hinbekomm.

Wie soll ich den Zeitpunkt denn speichern? Als timestamp oder wie?

Habs hinbekommen, danke

Ja, Timestamp ist dort wsl am einfachsten.

Also:

Usre loggt sich ein, Status wird auf online gesetzt, Zeitpunkt abgelegt.
Einfacher:
bei jeder Aktion des Users wird der Zeitpunkt der letzten Aktion aktualisiert.
Wenn du jetzt wissen willst, wer online ist, guckst du Beispielsweise, wer innerhalb der letzen 10min was gemacht hat.

Das sollte ganz einfach mit SQL machbar sein. Guck doch mal im Mysql Handbuch.

Ja ich habs denk ich schon hinbekommen.

Danke nochmal.