Något användbart

Nu ska vi göra något lite mer användbart än det tidigare ; vi ska kontrollera vilken webbläsare besökaren av webbsidan använder . För att göra det undersöker vi " user agent "-strängen som skickas till webbservern av webbläsaren som en del av HTTP-förfrågan . Den informationen finns lagrad i en variabel . Variabler inleds i PHP alltid med ett dollar-tecken . Variabeln vi behöver nu är $_SERVER[ "HTTP_USER_AGENT" ] .

PHP Autoglobals-not: $_SERVER är en speciell, reserverad variabel i PHP som innehåller all webbserverinformation. Den typen av variabel kallas för en " autoglobal " (eller superglobal ) . Läs mer under sektionen Autoglobals ( även kallade superglobals ) . Dessa specialvariabler introducerades i version 4.1.0 av PHP . Förut användes istället $HTTP_*_VARS -arrayer såsom t.ex. $HTTP_SERVER_VARS . Trots att anvädningen av dessa variabler inte rekommenderas finns de fortfarande kvar. (Se även noten som behandlar gammal kod .)

För att skriva ut variabeln , skriver vi helt enkelt :

Exempel 2-2 . Skriva ut en variabel ( ett array-element )




Ovanstående script skulle t.ex. kunna generera följande:








Det finns många olika typer av variabler i PHP . I ovanstående exempel skrev vi ut ett element från en array . Arrayer kan vara väldigt användbara .

$_SERVER är bara en av de variabler som automatiskt finns tillgängliga i PHP . En lista alla återfinns i kapitlet Reserverade variabler , eller kan du skapa en lista med hjälp av följande PHP-kod :

Exempel 2-3 . Visa alla fördefinerade variabler med phpinfo( )






Om du tittar den här filen i din webbläsare kommer du se en sida full av information om PHP samt en lista med de variabler som finns tillgängliga .

Du kan ha flera PHP-kommandon inom en PHP-tagg och skapa små block av kod som gör mer än bara skriver ut text . Om vi till exempel skulle vilja kontrollera om användaren kör Internet Explorer skulle vi kunna göra här :

Exempel 2-4 . Exempel hur man använder kontrollstrukturer och funktioner




Ovanstående script skulle t.ex. kunna generera följande:








Här ovan introducerade vi ett par nya begrepp . Det finns bland annat en if -sats . Om du är bekant med den grundläggande syntaxen i C bör det här se logiskt ut . Om du inte kan C eller något språk med en liknande syntax som den ovan bör du antagligen införskaffa en PHP-bok för nybörjare och läsa åtminstone de första kapitlen . Alternativt kan du läsa Språkreferens -delen av manualen . En förteckning över PHP-böcker finner du adressen http : / /www.php.net / books.php .

Det andra begreppet vi nu introducerat är funktionsanropet till strstr( ) . strstr( ) är en inbyggd funktion i PHP som söker i en sträng efter en annan sträng , i det här fallet letar vi efter "MSIE " inuti $_SERVER["HTTP_USER_AGENT" ] . Om strängen hittas returnerar funktionen TRUE och om den inte hittas returneras FALSE . Om funktionen returnerar TRUE blir även if -satsen TRUE och därmed körs PHP-koden som omsluts av dess " måstecken" , det vill säga { och } . Om inte , körs inte PHP-koden inom nämnda . Skapa gärna egna if -satser som även kan innehålla else , och bekanta dig med funktioner som strtoupper( ) och strlen( ) . Dess sidor i manualen innehåller alla exempel hur funktionerna används .

Vi ska nu ännu längre och demonstrera hur du kan växla mellan PHP och HTML mitt i ett PHP-block :

Exempel 2-5 . Att växla mellan PHP och HTML




Det här scriptet skulle t.ex. kunna skriva ut följande:








Istället för att använda PHP-funktionen echo för att skriva ut något , växlade vi till HTML-läge och skrev vanlig HTML . Observera dock att logiken i scriptet fortfarande finns kvar , bara ett av HTML-blocken visas för användaren beroende om strstr( ) returnerade TRUE eller FALSE , med andra ord om strängen MSIE hittades eller inte .