Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php], Sposób na to, aby były widoczne wszystkie osoby zalogowane w serwisie?
qrcze_pieczone
post
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 2
Dołączył: 13.04.2007

Ostrzeżenie: (0%)
-----


Witam
Chciałbym uzyskać taki efekt jak to ma miejsce w przypadku tego forum czyli na dole pokazuje się kto edytuje dany post bądź kto jest w danej chwili na forum.

Możliwe że ten temat był już poruszany na forum, ale jakoś mi się nie udało trafić na niego.
Oczywiście za podpowiedzi bądź linki do stron gdzie ta tematyka była poruszana z góry dziękuję.
pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
=57=
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 24.05.2007

Ostrzeżenie: (0%)
-----


ponizej taka przykladowa klasa sprawdzajaca kto jest online (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) kod tragicznie lopatologiczny i amatorski ale coz poradzic gdy nie jest sie pr0-coderem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) mysle ze sposob dzialania (i myslenia (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) jest jasno opisany w komentarzach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

(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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) wiem ze skrypt dziala, tragicznie, ale dziala:)))

  1. <?php
  2. class Onliner{
  3. function whos_online(){
  4. bd::connect();
  5.  
  6. //zapisujemy sobie id sesji :)
  7. $sid = session_id();
  8. //a teraz sobie czas aktualny zapisujemy
  9. $czas = date('G:i:s',time());
  10. //obliczamy do kiedy user bedzie uwazany za ONLINE (obecny czas + 10min)
  11. $vTo = time() + 60*10;
  12. //vTo zamieniamy na jakis ladny zapis, zeby czlowiek byl w stanie rozczytac godzin
    e
  13. $validTo = date('G:i:s',$vTo);
  14. //sprawdza czy juz jest taki user online
  15. $q = 'SELECT * FROM TOnline WHERE who = "'.$_SESSION['player'].'"';
  16. $r = mysql_query($q);
  17. $row = mysql_fetch_row($r);
  18. //jesli nie jest to tworzy nowy wpis w SQL pod warunkiem ze ktos jest zalogowany
  19. if($row == NULL){
  20. if(isset($_SESSION['player'])){ //jesli jest zalogowany
  21. $q = 'INSERT INTO TOnline VALUES("'.$sid.'","'.$validTo.'","'.$_SESSION['player'].'")';
  22. }else{//jesli nie jest zalogowany
  23. //jesli jest juz wpis to przedluza termin zalogowania o ile ktos sie zalogowal
  24. if(isset($_SESSION['player'])){
  25. $q = 'UPDATE TOnline SET validTo = "'.$validTo.'" WHERE who = "'.$_SESSION['player'].'"';
  26. }
  27. //kasuje graczy ktorzy sa offline
  28. $q = 'DELETE FROM TOnline WHERE validTo < "'.$czas.'"';
  29. mysql_query($q) or die("sraka");
  30. //wypisuje graczy online
  31. $q = 'SELECT * FROM TOnline';
  32. $r = mysql_query($q);
  33.  
  34. echo'<br>gracze online:<br>';
  35. while($uO = mysql_fetch_array($r)){
  36. $i++;
  37. <a href="index.php?m=playerInfo&a=show&w='.$uO['who'].'">'.$uO['who'].'</a><br>
  38. ';
  39. }
  40. }
  41. }
  42. ?>


Ten post edytował =57= 24.05.2007, 12:50:06
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 29.12.2025 - 19:02