Also, ich versuche mich diesmal klar und deutlich auszudrücken...
Ich habe eine Login-Klasse, die mit dem Konstruktor auf jeder Seite überprüft, wann der User das letzte mal eine Aktion gestartet hat, d.h. einen Link aufgerufen oder ein Formular abgeschickt hat. Aber irgendwie setzt der den Online-Status nicht wieder zurück auf 0...
	
Was ist daran denn falsch? Bzw, was muss verbessert werden?
							
						
					Ich habe eine Login-Klasse, die mit dem Konstruktor auf jeder Seite überprüft, wann der User das letzte mal eine Aktion gestartet hat, d.h. einen Link aufgerufen oder ein Formular abgeschickt hat. Aber irgendwie setzt der den Online-Status nicht wieder zurück auf 0...
PHP-Code:
	
	
<?php
//Hier die Funktion (Ausschnitt aus der Klasse)
         public function Timeout($Table)
                {
                $qry_user = $this->DB->SelectOne("SELECT LastAction FROM ".$Table." 
WHERE UserSession='".session_id()."' 
LIMIT 1");
                $lastaction = date("H.i.d.m.y");
                if ( empty ($qry_user['LastAction']) )
                 {
                 $udt_user = $this->DB->Query("UPDATE ".$Table." SET LastAction='".$lastaction."', 
UserStatus='0', 
UserSession=NULL 
WHERE UserSession='".session_id."'");
                 }
                if ( !empty ($qry_user['LastAction']) )
                 {
                 $lastaction = explode(".",$qry_user['LastAction']);
                 $stunde = $lastaction[0]; //Teil 1
                 $minute = $lastaction[1]; //Teil 2
                 $tag = $lastacion[2]; //Teil 3
                 $monat = $lastaction[3]; //Teil 4
                 $jahr = $lastaction[4]; //Teil 5
                 $now_stunde = date("H");
                 $now_minute = date("i");
                 $now_tag = date("d");
                 $now_monat = date("m");
                 $now_jahr = date("y");
                 if ($now_jahr > $jahr OR 
$now_monat > $monat OR 
$now_tag > $tag OR 
$now_stunde > $stunde 
OR ($now_minute - 1) > $minute )
                  {
                  $result = $this->DB->Query("UPDATE ".$Table." SET UserStatus='0', 
UserSession=NULL 
WHERE UserSession='".session_id()."'");
                  return true;
                  }
                 }
                }
?>
 
          


 
 
Kommentar