Home Ontwerp je site PHP Browser uitlezen met PHP

Browser uitlezen met PHP

Statistieken verschaffen een heleboel nuttige informatie over je website.

Gegevens die je kunt opslaan zijn:

  • het aantal bezoekers;
  • tijdstippen van bezoek;
  • welke pagina's bezocht werden;
  • met welk besturingssysteem de website bezocht werd;
  • ...

Browsers

Het onderdeeltje dat ik in dit artikel bespreek is het uitlezen van de browser waarmee de bezoeker de website bezoekt.

Met JavaScript?

De gebruikte browser kun je met JavaScript achterhalen met behulp van het object

navigator.userAgent
, maar aangezien JavaScript kan uitgeschakeld worden in de browser, maken we voor een statistiekenscript beter gebruik van PHP om een zo waarheidsgetrouw mogelijk beeld te krijgen.

PHP wordt immers op de server uitgevoerd en kan dus niet door de gebruiker in de browser uitgeschakeld worden.

Browservariabele gebruiken

PHP heeft een ingebouwde variabele

$_SERVER['HTTP_USER_AGENT']
waarmee het gebruikte besturingssysteem en browser kan achterhaald worden. Deze variabele geeft in jouw geval deze waarde door:

Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11

Je merkt al meteen dat er heel wat informatie in deze string zit opgeslagen, maar dat deze niet echt gebruiksvriendelijk gepresenteerd wordt. Het script dat we nu gaan schrijven zal wel op een duidelijke manier de gebruikte browser tonen.

Variabele aanpassen

We bouwen een nieuwe functie op:

<?php
function haal_browser()
{
  
}
?>

In deze functie gaan we eerst en vooral een variabele declareren waarin we

$_SERVER['HTTP_USER_AGENT']
stoppen. We controleren eerst met de functie isset() of er wel degelijk een waarde via de browser wordt doorgegeven. De servervariabele veranderen we met de functie strtolower() naar kleine letters.

<?php
$browser_user_agent 
= ( isset($_SERVER['HTTP_USER_AGENT']) ) ? strtolower($_SERVER['HTTP_USER_AGENT']) : '';
?>

Merk op dat we de verkorte if-else structuur gebruiken volgens deze syntaxis:

if-statement ? true : false;

Browsers controleren

We scripten nu het gedeelte dat controleert welke browser in de servervariabele terug te vinden is.

Dit gebeurt met een simpele if-check met behulp van de functie stristr(). Deze functie is hoofdletteronafhankelijk, dus het maakt niet uit of je nu "Opera", "opera" of "OPERA" zou invoeren.

<?php
if(stristr($browser_user_agent"Opera")) 

    return 
"Opera"

?>

In ons script checken we op de meest gebruikte browsers:

<?php
    
if(stristr($browser_user_agent"Opera")) 
    { 
        return 
"Opera"
    }  
    elseif(
stristr($browser_user_agent"Msie")) 
    { 
        return 
"Internet Explorer"
    }
    elseif(
stristr($browser_user_agent"Netscape")) 
    { 
        return 
"Netscape"
    } 
    elseif(
stristr($browser_user_agent"Firefox")) 
    { 
        return 
"Firefox"
    } 
    elseif(
stristr($browser_user_agent"Gecko")) 
    { 
        return 
"Mozilla"
    } 
    else 
    { 
        return 
"Onbekend"
    } 
?>

opgelet

De volgorde van de check is uitermate belangrijk aangezien in de servervariabele dikwijls dezelfde sleutelwoorden voorkomen.

Zo starten bijna alle servervariabelen met het sleutelwoord "mozilla", hetgeen niet altijd betekent dat je surft met de browser Mozilla. Vandaar moet je eerst zoeken naar andere sleutelwoorden die wel uniek zijn.

Resultaat

Je script is nu zo goed als klaar. Het enige dat ons nog te doen staat, is het opnemen van de browser in een outputvariabele. Dat doen we zo:

<?php
$browser 
haal_browser();
?>

5 + 0 =
 

GOOGLE adsense