Licznik wskazujący liczbę osób akutalnie przeglądających stronę to przydatna sprawa :)  Można dzieki niemu sprawdzić w jakich godzinach mamy największą oglądalność lub czy w ogole ktoś zagląda na naszą stronę. Gotowych rozwiązań tego zadania jest mnóstwo - ja przedstawię kolejne :P Opierać będę się jak zawsze na PHP oraz Mysqlu - to typowe 'wyposażenie' miejsc w których ten skrypt mógły być przydatny. Idea jest prosta a całość kodu to zaledwie kilka linijek. Sens działania wygląda w ten sposób:
- Zapisujemy w bazie danych adresy IP oraz datę wizyty wszystkich odwiedzajacych
- Za uzytkownikow on-line uznajemy tylko tych ktorzy weszli na strone w przeciągu np. ostatnich 3 minut (ten czas ustalamy sami)
- Dla porządku, wszystkie wpisy starsze niż 3 minuty usuwamy z bazy.
        W ten sposób możemy uzyskąć liczbę osób która prawdopodobnie w tym samym czasie ogląda naszą stronę ;) Opcjonalnie, celem weryfikacji poprawnego działania, możemy wyświetlić listę adresów które obecnie przeglądają stronę.
Do dzieła...
        Przed przystępieniem do zabawy zabawy musimy utworzyć nową tablicę w bazie danych w której bedziemy gromadzić będziemy informację o gościach. Wysatrczy że będzie się ona składać z dwóch pól przechowujących Adres IP oraz Date. Zdadnie możemy zrealizować jednym polecenie SQL:
| CREATE TABLE `online` (
 `ip` varchar(15) NOT NULL default '',
 `date` time NOT NULL default '00:00:00',
 PRIMARY KEY (`ip`)
 ) TYPE=MyISAM;
 
 
 | 
        Założenie klucza na pole IP uczyni je unikatowym, przez co unikniemy duplikowania się tego samego adresu przy odswieżeniu strony oraz pisania dodatkowego kodu obsługującego to zajście :)
        Teraz utworzymy plik php, który jako wynik zwróci napis 'On-line: xx' z liczbą gości.
        Jego treść będzie wyglądać tak:
| <?php
 
 /* Laczymy sie z serwerem mysql */
 $db = mysql_connect('localhost','root','');
 
 /* i wybieramy baze danych */
 mysql_select_db('webstuff',$db );
 
 /*
 Ustalamy czas od ostatniego polaczenia
 po ktorym zostaniemy uznani za bycie on-line.
 Tutaj 3*60 sek a wiec 3 minuty
 */
 $old=date('H:i:s',time()-3*60);
 
 /* Usuwamy wszystkie wpisy starsze niz 3 minuty - pozwoli to uniknac zasmiecania bazy */
 mysql_query("DELETE FROM online WHERE date<'$old'" );
 
 /* Ustalamy adres komputera ktory wszedl na strone */
 $_SERVER=$HTTP_SERVER_VARS; $REMOTE_ADDR=$_SERVER['REMOTE_ADDR'];
 
 /* Terazniejszosc */
 $now=date('H:i:s',time());
 
 /* Dodajemy nowego hosta do bazy wraz bierzaca godzina wizyty */
 mysql_query("INSERT INTO online VALUES('$REMOTE_ADDR','$now')" );
 
 /* Liczymy tych ktorzy zostali zapisani w ciagu ostatnich 3 minut */
 $res=mysql_query("SELECT * FROM online WHERE date>'$old'" );
 
 /* i wyswietlamy ich liczbe na ekranie */
 echo 'On-line: <a href="?show">'.mysql_numrows($res).'</a><br>';
 
 /* Dodatkowo mozemy wyswietlic liste osob aktualnie przegladajacych strone */
 if (isset($_GET['show'])){
 echo '<br><table cellspacing=0 cellpadding=0 ><tr><td>Lista gosci<br><br></td><td></td></tr>';
 echo '<tr><td><b>IP</b></td><td><b>Data</b></td></tr>';
 
 /* Kozystajac z faktu ze $res przechowuje ID wyniku wczesniejszego zapytania, wyswietlamy szczegolowe dane */
 while($iplist=mysql_fetch_assoc($res)){
 echo '<tr>';
 echo '<td>'.$iplist['ip'].'</td>';
 echo '<td>'.$iplist['date'].'</td>';
 echo '</tr>';
 }
 echo '</table>';
 echo '<br><a href="index.php">Ukryj</a>';
 }
 
 /* Zamykamy polaczenie z baza */
 mysql_close($db );
 
 ?>
 
 
 
 | 
        Jeśli wszystko przebiegło bez zakłóceń efekt powinień być podobny do tego (poproś kolegę aby wszedł tu razem z Toba ;) )