Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP|MySQL]użytkownicy online, Sprawdzanie kto z zarejstrowanych użytkowników jest online
Sergiusz1996
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 23.07.2010

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


Witam.
Ostatnio stworzyłem na stronie system logowania oraz shoutboxa. Logowanie opiera się na PHP. Baza użytkowników mysql.cba.pl
Moje pytanie (a raczej prośba) dotyczy skryptu, który pozwalałby wyświetlać na stronie shoutboxa użytkowników, którzy są online.
Jeśli taki temat już był, proszę o linka. Wujek Google nie wszystko widzi
Pozdrawiam i czekam na odpowiedź - Sergiusz
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
flashdev
post
Post #2





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


  1. <?php
  2. class online_counter {
  3. private $sql;
  4. private $table;
  5. private $maxTime;
  6.  
  7. public function __construct($sql, $table, $maxTime){
  8. $this -> sql = $sql;
  9. $this -> table = $table;
  10. $this -> maxTime = $maxTime;
  11. }
  12.  
  13. public function update($ip, $time = false){
  14. $time = $time === false ? 'NOW()' : '\'' . $time . '\'';
  15. $ip = ip2long($ip);
  16. $sql = 'INSERT INTO `' . $this -> table . '` (`ip`, `lastmod`) VALUES (' . $ip . ', ' . $time . ');';
  17. if( !$this -> sql -> query($sql) ){
  18. $sql = 'UPDATE `' . $this -> table . '` SET `lastmod` = ' . $time . ' WHERE `' . $this -> table . '`.`ip` = ' . $ip . ';';
  19. return !!$this -> sql -> query($sql);
  20. }
  21. return true;
  22. }
  23.  
  24. public function get(){
  25. $this -> eraseOld();
  26. $sql = 'SELECT * FROM `' . $this -> table . '`;';
  27. $this -> sql -> query($sql);
  28. return $this -> sql -> numRows();
  29. }
  30.  
  31. private function eraseOld(){
  32. $time = date('Y-m-d H:i:s', time() - $this -> maxTime);
  33. $sql = 'DELETE FROM `' . $this -> table . '` WHERE `' . $this -> table . '`.`lastmod` < \'' . $time . '\';';
  34. $this -> sql -> query($sql);
  35. }
  36. }
  37. ?>


Kiedyś napisałem taką klasę, może się przyda (IMG:style_emoticons/default/winksmiley.jpg)
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: 7.10.2025 - 11:46