ponizej taka przykladowa klasa sprawdzajaca kto jest online

kod tragicznie lopatologiczny i amatorski ale coz poradzic gdy nie jest sie pr0-coderem

mysle ze sposob dzialania (i myslenia

) jest jasno opisany w komentarzach
(nie wiem po co ID sesji w tym kodzie bo bez tego chyba tez dziala ;o zamotalem sie piszac te linijki.. wystarczy poswiecic 30sec nad tym i podopoisywac co trzeba

wiem ze skrypt dziala, tragicznie, ale dziala:)))
<?php
class Onliner{
function whos_online(){
bd::connect();
//zapisujemy sobie id sesji :)
//a teraz sobie czas aktualny zapisujemy
//obliczamy do kiedy user bedzie uwazany za ONLINE (obecny czas + 10min)
//vTo zamieniamy na jakis ladny zapis, zeby czlowiek byl w stanie rozczytac godzin
e
$validTo = date('G:i:s',$vTo); //sprawdza czy juz jest taki user online
$q = 'SELECT * FROM TOnline WHERE who = "'.$_SESSION['player'].'"';
//jesli nie jest to tworzy nowy wpis w SQL pod warunkiem ze ktos jest zalogowany
if($row == NULL){
if(isset($_SESSION['player'])){ //jesli jest zalogowany $q = 'INSERT INTO TOnline VALUES("'.$sid.'","'.$validTo.'","'.$_SESSION['player'].'")';
}else{//jesli nie jest zalogowany
//jesli jest juz wpis to przedluza termin zalogowania o ile ktos sie zalogowal
if(isset($_SESSION['player'])){ $q = 'UPDATE TOnline SET validTo = "'.$validTo.'" WHERE who = "'.$_SESSION['player'].'"';
}
//kasuje graczy ktorzy sa offline
$q = 'DELETE FROM TOnline WHERE validTo < "'.$czas.'"';
//wypisuje graczy online
$q = 'SELECT * FROM TOnline';
echo'<br>gracze online:<br>'; $i++;
<a href="index.php?m=playerInfo&a=show&w='.$uO['who'].'">'.$uO['who'].'</a><br>
';
}
}
}
?>