64175 skanuj0385 (2)

64175 skanuj0385 (2)



Rozdział 15. ♦ Generowanie statystyk 401

Napiszmy zatem funkcję, która pozwoli zidentyfikować poszczególne typy przeglądarek. Została ona przedstawiona na listingu 15.1.

Listing 15.1. Funkcja identyfikująca poszczególne typy przeglądarek

function getBrowserTypeO

{

Sbrowser_info - strtolower($_SERVER[1HTTP_USER_AGENT1]):

if(strpos($browser_info. “opera") !== false){ return BROWSERJDPERA;

}

else if(strpos($browser_info, "rasie'') ! return BROWSER MSIE:

}


false){ false){


else if(strpos($browser_info. "konqueror") return BROWSER KONQUEROR:

}

else if(strpos($browser_info, "firefox") !== false){ return BROWSER FIREFOX:

ł

else 1f(strpos($browser info, “mozilla") !== false){ return BROWSER MOZILLA;

}

else{

return BROWSERJJNKNOWN:

A zatem ciąg zawarty pod indeksem HTTP_USER_AGENT w tabeli $_SERVER jest konwertowany, tak aby zawierał jedynie małe litery (funkcja strtol ower), a następnie przypisywany zmiennej browser_info. Następnie złożona instrukcja warunkowa if.. .else .. .if bada, czy zmienna ta zawiera jeden z ciągów: opera, netscape, msie, konąueror, firefox, mozilla. Wykorzystywana jest w tym celu funkcja strpos, która zwraca indeks wystąpienia poszukiwanego ciągu, lub wartość false, jeśli dany ciąg nie zostanie znaleziony. Jeżeli zatem jeden z wymienionych ciągów zostanie znaleziony, jest zwracana jedna ze stałych określająca rozpoznaną przeglądarkę. Jeśli natomiast żaden z ciągów nie zostanie znaleziony, jest zwracana stała BROWSERJJNKNOWN.

W podobny sposób będzie działała funkcja określająca rodzaj wykorzystywanego przez użytkownika systemu operacyjnego. Została ona przedstawiona na listingu 15.2. Identyfikacja odbywa się na podstawie analizy ciągu zapisanego w tablicy $_SERVER pod indeksem HTTP_USER_AGENT. Ciąg ten jest odczytywany, a znajdujące się w nim znaki są zamieniane na małe litery. Następnie jest on zapisywany w zmiennej system_info. Złożona instrukcja warunkowa i f... el se... i f wraz funkcją strpos pozwalają na określenie systemu operacyjnego. Stała określająca typ systemu jest zwracana za pomocą instrukcji return.


Wyszukiwarka

Podobne podstrony:
skanuj0397 (3) Rozdział 15. ♦ Generowanie statystyk 413 Modyfikacji uległa funkcja checkPass. Przede
skanuj0387 (3) Rozdział 15. ♦ Generowanie statystyk 403 działania addStatRecord będzie wartość 0. Je
skanuj0393 (2) Rozdział 15. ♦ Generowanie statystyk 409 Kod wyświetlający część główną został przeds
skanuj0403 (2) Rozdział 15. ♦ Generowanie statystyk 419 else{ Squery "WHERE} $query "Stats
skanuj0383 (2) Rozdział 15. ♦ Generowanie statystyk ♦    4 — dla przeglądarek Mozilla

więcej podobnych podstron