strona glownaartykulydownloadszukajreklamakontaktavataryregulamin

Witaj na szabloniki.com!
Na naszej stronie znajdziesz: dodatki na bloga, darmowe szablony stron, szablony na bloga, PHP-Fusion Themes (szablony do PHP-Fusion), generator bannerów, wskaznik PageRank strony, skrypty, avatary, tutoriale do Photoshopa, tla pod bannery, tanie szablony za SMS.

Najnowsze artykuły:
Grafika i zdjęcia do projektów
Okrągły button
Usuwamy zmarszczki
Skróty klawiszowe
Miniaturkowy świat
Zdjęcia

Webmaster i grafik
dodatki, skrypty, generatory

avatarytutoriale do photoshopa

Szablony za SMS

+ Wszystkie (89)
+ 1 kolumna (33)
+ 2 kolumny (35)
+ Czarne (8)
+ Czerwone (16)
+ Niebieskie (16)
+ Opisy gg (5)

+ PHP-Fusion 6 (9)
+ PHP-Fusion 7 (4)
+ Pomara&#324czowe (4)
+ Portale (58)
+ Radio internetowe (4)
+ Zielone (10)
Polecamy
Tutaj kupisz odzież męską w dużych rozmiarach
Licznik gości on-line

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 ;) )



>Wersja download<


Dodane przez polak dnia March 06 2007 11:09:11 14867 Czytań · Drukuj