402 PHP i MySQL dla każdego
Listing 15.2. Funkcja identyfikująca typy systemów operacyjnych
function getSystemTypeO
$system_info = strtolower($_SERVER['HTTP_USER_AGENT']):
if(strpos($system info, "Windows") !== fa1se){ return SYSTEM WINDOWS:
else if(strpos(Ssystem info, "linux") !== false){ return SYSTEM LINUX;“
if(strpos($system info, "mac os") != false){ return SYSTEM_MACOS;
else{
return SYSTEM UNKNOWN:
Za dodawanie danych do tabeli Stats będzie odpowiedzialna funkcja addStatRecord, której kod został zaprezentowany na listingu 15.3. Przyjmuje ona cztery argumenty:
♦ userld — określający identyfikator użytkownika, który dokonał połączenia z naszym serwisem;
♦ i p — określający adres IP, z którego nastąpiło połączenie;
♦ browser Id — określający identyfikator przeglądarki (z tabeli Browsers) wykorzystywanej do połączenia;
♦ systemld — określający identyfikator systemu operacyjnego (z tabeli Systems), z którego nastąpiło połączenie;
Listing 15.3. Kod funkcji addStatRecord_
function addStatRecord(Suserld. $ip. Sbrowserld, Ssystemld)
$query - "INSERT INTO STATS VALUES(":
$query .= “NULL. '$ip'. NOWO, Ssystemld, Sbrowserld. Suserld)"; if(!$result = mysql_query(Squery)){ return 0:
return mysql_insert_idO;
Dane wprowadzane są do bazy za pomocą zapytania SQL w postaci:
INSERT INTO STATS VALUES(NULL. 'Sip'. NOWO. Ssystemld. Sbrowserld. Suserld)
Oczywiście nazwy argumentów zostaną zamienione przez PHP na odpowiadające im wartości. W kolumnie Data jest zapisywana wartość zwrócona przez funkcję SQL o nazwie NOW, która określa bieżącą datę i czas. Cała treść zapytania jest przypisywana zmiennej query, a następnie wysyłana do serwera za pomocą funkcji mysql_query. Jeśli zapytanie zostanie odrzucone, czyli mysql_query zwróci wartość false, wynikiem