MyBB.de Forum

Normale Version: Automatischer Logout
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Ich soll Cookie´s von anderen löschen?

Wenn ja, wie?
Das bezog sich ja auch nicht auf dich. Wink
Tut mir leid, aber ich habe noch nie mit Cookies gearbeitet und bei PHP.net konnte ich auch nichts vernünftiges finden. Wie löscht man einen Cookie?
Du kannst einen Cookie in dem Sinne nicht direkt löschen, nur "entwerten". Das machst du indem du die Gültigkeit in die Vergangenheit verlegst. Beispiel:
PHP-Code:
setcookie("cookiename"""time()-3600); 
Der Code muss irgendwo rein wo er immer aufgerufen wird.
Das würde dann allerdings für alle User gelten.
PHP-Code:
if($mybb->user['lastvisit'] < (time()-1800))
{
 
my_setcookie("mybbuser"""time()-3600); 


update: Der Code selbst läuft einwandfrei, bindet man ihn aber irgendwo ein wird man sofort ausgeloggt.
Kann Dir hier nicht weiter helfen, evtl. irgendeine Schutzfunktion von mybb.
Michael weisst du weiter?
Der Code sollte stimmen. Hast du dir mal den Inhalt von $mybb->user['lastvisit'] ausgeben lassen? Evtl. ist die Variable noch nicht definiert wenn du den Code aufrufst.
Danke Michael, ich habe das bei meiner neuen Lösung berücksichtigt.
Ich hatte das falsche Feld abgefragt.

Hier der berichtigte, funktionierende Code:
PHP-Code:
$lastact = (isset($mybb->user['lastactive'])) ? $mybb->user['lastactive'] : time();
 if(
$lastact < (time()-1800))
{
my_setcookie("mybbuser"""time()-3600); 
 } 

Install:
In globals.php vor $plugins->run_hooks("global_end"); einbinden.
(Okay nicht ganz sauber, aber funktioniert Smile)
Nice! Super. Funktioniert!
CoolRunner schrieb:Danke Michael, ich habe das bei meiner neuen Lösung berücksichtigt.
Ich hatte das falsche Feld abgefragt.

Hier der berichtigte, funktionierende Code:
PHP-Code:
$lastact = (isset($mybb->user['lastactive'])) ? $mybb->user['lastactive'] : time();
 if(
$lastact < (time()-1800))
{
my_setcookie("mybbuser"""time()-3600); 
 } 

Install:
In globals.php vor $plugins->run_hooks("global_end"); einbinden.
(Okay nicht ganz sauber, aber funktioniert Smile)

Aber man kann doch dann diesen Code auch direkt in ein Plugin mit "global_end" packen, oder?

Danke für eure Hilfe Cool
Natürlich kann man das ganz einfach in ein Plugin packen. Wink
Seiten: 1 2 3