Ocena użytkowników: / 0
SłabyŚwietny 

INNY LICZNIK



Zastanawiałeś się kiedyś jak napisać licznik na stronę internetową? To proste, można do tego celu wykorzystać plik tekstowy umieszczony na serwerze, kilka linijek kodu i już powinno działać, np. tak



kod licznika

 

 

Użyłem tutaj pliku tekstowego licznik.dat , który przy pierwszym wejściu na stronę zostaje utworzony i zostaje w nim zapisana wartość 1. Przy następnym odwiedzeniu strony wartość ta zostaje odczytana, zwiększona o 1 wyświetlona w oknie przeglądarki i zapisana do pliku po uprzednim usunięciu z niego poprzedniej wartości. Przy takim wykonaniu w pliku pojawiać się będą tylko wartości 1, 2, 3 itd. Czyli wiemy że ktoś odwiedził naszą stronę ale nie wiemy nic więcej na temat maszyny, która odwiedziła naszą stronę, jaki miała adres IP, kiedy to się zdarzyło, czy pojawiła się z wyszukiwarki, jeżeli tak to jakiej, a może jeszcze da się uzyskać informacje na jakie hasło nas znalazła??? Dodatkową wadą tego licznika jest to, że nie jest on czuły na odświeżenia, przy każdym odświeżeniu zwiększa się o 1, czyli nie dość że nie podaje cennych informacji to jeszcze może wprowadzać w błąd. Trzeba więc zaprogramować to inaczej :- ) Może taki kod zda egzamin na wyższą ocenę???



screen kodu licznika

 

 

Jest to część kodu odpowiedzialna za zapisywanie danych do pliku tekstowego. Posłużyłem się w tym przypadku łańcuchem znaków oddzielnych od siebie dwoma separatorami: pierwszy to ; średnik dzieli każdy wiersz na stan licznika i informacje dodatkowe, w następnym etapie informacje dodatkowe są podzielone za pomocą pionowej kreski |. Z pomocą w tym przypadku przyszła udostępniona przez PHP tablica $_SERVER, zawierająca wszystkie potrzebne nam dane. Po połączeniu każdego użytkownika udostępnione są w niej dane, które można odczytać za pomocą funkcji print_r($_SERVER); . Ta część licznika odpowiedzialna jest tylko za zapis danych do pliku, nie ma sensu wyświetlania ich np. na stronie głównej serwisu :- ). Do wyświetlenia danych stworzyć możemy oddzielną stronę, nazwijmy ją np. wyniki.php. Zakładam że strona ta po wejściu na nią powinna wyświetlić wszystkie interesujące nas dane np. w ramce. Więc do roboty. Może tak???



strona www z licznikiem

 

 

 

Po otworzeniu pliku i zapisaniu jego wierszy do tablicy $tmp tworzymy nagłówki tabeli, następnie w pętli foreach tworzymy na podstawie danych z pliku wiersze tabeli i zamykamy tabelę. Jakie to proste :- ) zobaczmy więc jak wyglądają wyniki działania takiego licznika.



Strona z wynikami

 

 

 

Oj jak widać nie wszystkie kolumny się wypełniają czyli nie do końca wyszło tak jak chciałem, trzeba będzie poprawić albo chociaż usunąć w kodzie fragmenty, które odpowiadają za zapis i wyświetlanie danych w kolumnie 4 i 6 albo zmienić dane w części zapisu z tablicy $_SERVER w części zapisującej. Powodzenia. A jeszcze bym zapomniał o kwestii odświeżania przecież nadal będą się tworzyły nowe wpisy :- ( , ale podpowiem że można do usunięcia tej niedogodności posłużyć się jeszcze inną tablicą, którą udostępnia PHP a mianowicie $_SESSION. Żeby można było jej użyć na samym początku strony powinna zostać wywołana funkcja session_start() na każdej stronie na, której będziemy korzystali z danych w sesji. Może lepiej trochę kodu bo widzę że ciężko :- )



sesja

 

 

 

Oczywiście te warunki można by inaczej sformułować. Od momentu wywołania funkcji session_start(); dostępna jest super globalna tablica w której przechowywane są wartości, przez nas umieszczone dla konkretnego połączenia, dostępne one będą na wszystkich pod stronach naszego serwisu oczywiście po wcześniejszym wywołaniu funkcji session_start(); w tym przypadku jest to zmienna licznik. Jeżeli takiej zmiennej nie ma należy zapisać odwiedzającego i utworzyć zmienną w przeciwnym przypadku nie robimy nic.