Bądź na bierząco - RSS

Licznik osób online w PHP

July 21st, 2009 Kategoria PHP&MySQL

Opiszę dziś, jak zrobić prosty licznik osób online na własnej stronie. Skrypt będzie opierał się o bazkę MySQL, więc powinieneś ją mieć.
Zrobimy to w najprostszy sposób, jak Ci potrzebne bajeranckie opcje to sam je sobie dopiszesz. Pierwszym etapem tworzenia statystyk, będzie utworzenie tabeli w bazie danych. Oto i jej kod :

1
2
3
4
5
 CREATE TABLE `online` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`czas` VARCHAR( 50 ) NOT NULL ,
`ip` TEXT NOT NULL
) ENGINE = MYISAM

Tabela gotowa. Teraz utwórz plik online.php, wklej do niego :

1
2
3
4
5
6
7
8
9
10
11
12
13
@mysql_connect('host','login','hasło')
    or die('Nieudane połączenie');
@mysql_select_db('nazwa_bazy')
    or die('Nieudane wybranie bazy');
$limit = 60;
$czas_aktualny = time();
$czas_zliczany = $czas_aktualny - $limit;
$ip = $_SERVER['REMOTE_ADDR'];
$dodaj = mysql_query("INSERT INTO `online` (id, czas, ip) VALUES (NULL, '$czas_aktualny', '$ip')");
$usun = mysql_query("DELETE FROM `online` WHERE czas<'$czas_zliczany'");
$wyswietl = mysql_query("SELECT DISTINCT `ip` FROM `online`");
$osob = mysql_num_rows($wyswietl);
echo "Osoby on-line: ".$osob;

To by było na tyle, jeszczę objaśnie za co odpowiadają poszczególne linijki w kodzie.

  • 1-2 – łączenie z bazą danych, wpisz swoje dane.
  • 3-4 – wybieranie bazy, gdzie jest utworzona nasza tabelka “online”.
  • 5 – za pomocą $limit, możemy ustawić jak czułu ma być nasz skrypt.
  • 6 – ustawiamy czas aktualny za pomocą funkcji time().
  • 7 – wyliczamy różnicę, pomiędzy czasem aktualnym a limitem, żeby nasz skrypt wiedział czy gość jest jeszcze online.
  • 8 – do zmiennej $ip, przypisujemy adres IP gościa.
  • 9 – dodajemy wpis, do bazy.
  • 10 – usuwamy wpisy z bazy, osób, których już nie ma na naszej stronie.
  • 11 – przypisujemy do zmiennej $wyswietl zapytanie.
  • 12 – przypisujemy do zmiennej $osob, ilość rekordów z bazy, czyli ile mamy osób online.
  • 13 – wyświetlamy informacje dla usera, ile osób nas aktualnie odwiedza.

Taki prosty i skuteczny sposób. Możemy go używać w dowolnym miejscu na stronie, wystarczy go tylko zaincludować. Wszelkie uwagi i pytania proszę pisać w komentarzach.

dodajdo

Podobne wpisy :

6 Komentarze/y dla “Licznik osób online w PHP”

  1. marines Napisł/a:

    a znasz coś takiego jak komentarze? nadadzą się znacznie lepiej niż wypisywanie do czego służą poszczególne linijki skryptu.


  2. admin Napisł/a:

    fakt, moglem w komentarzach


  3. Bartek Napisł/a:

    Dzięki!


  4. Tomek Napisł/a:

    Dzięki wielkie za ten prosty skrypt, bardzo się przydał.
    Pozdrawiam.


  5. zarcel Napisł/a:

    Moim zdaniem to nie będzie działać, ponieważ przy każdym odswieżeniu strony koleś ma inny czas aktualny, więc polecenie distinct nie wykryje, takich samych wartosci.


  6. zarcel Napisł/a:

    Ok nie dopatrzyłem :P


Napisz Komentarz

  • tag

  • Panel

  • Blip:

    BlipCounter