Onlineuser Status Script Problem

speedone

New Member
Abend
Ich habe ein kleines Script geschrieben, das herausfinden soll, ob ein User gerade Online ist oder nicht...
Allerdings stimmt eine Kleinigkeit noch nicht
Er gibt den ersten User in der Datenbank doppelt aus???
Ich habe zum Test in der Datenbank die User: admin und hans
In meinem test hatte Hans länger als 300 sekunden keine Funktion mehr auf einer Seite ausgeführt, Admin aber schon.
Allerdings kommt alls Ausgabe: admin, admin

Wenn ich Hans auch in die gültige Zeitspanne von 300 Sekunden mache, kommt als Ausgabe: admin, admin, Hans


PHP:
if(isset($_REQUEST['onlineuser']))
	{
		$onlineuser = array();
		$result=mysql_query("SELECT * FROM user");
		
		for($i = 0; $i < mysql_num_rows($result); $i++)
     	{
			$userdata = mysql_fetch_object($result);
			
			$onzeitspanne = ($timestamp - $userdata->LastAktiv);
			
			if($onzeitspanne < '300') //Wenn der User länger als 300 sekunden nicht mehr aktiv war (5 Minuten)
			{
				array_push($onlineuser,$userdata->Nickname);
			}
			ELSE
			{
				$userid = $userdata->Uid;
				@mysql_query("UPDATE user SET OnlineStatus = '' WHERE Uid = '$userid'");
			}
			
     	
			foreach($onlineuser as $online)
  			echo $online,", ";
     	}	
	}
 
Last edited by a moderator:
Back
Top