CMS-kursen

Superglobala variabler

PHP har inbyggda arrayer som alltid finns tillgängliga, med information om anropet och besökaren.

Alltid tillgängliga

Superglobala variabler är inbyggda arrayer som går att använda överallt i koden, utan att du skapar dem själv.

Variabel Innehåll
$_SERVER Information om servern och anropet
$_GET Värden från adressens frågesträng
$_POST Värden från formulär som skickats med POST
$_COOKIE Kakor som webbläsaren skickat med
$_SESSION Sessionsdata (kommer i modulen om sessioner)

På kommandoraden finns dessutom $argc och $argv, som du redan använt.

$_GET: värden i adressen

Det som står efter ? i en adress kallas frågesträng. Varje namn=värde hamnar i $_GET:

http://localhost:8000/profil.php?namn=Henrik&stad=Göteborg

?? ger ett standardvärde om nyckeln saknas, så slipper du en varning.

GET eller POST?

GET POST
Var syns värdena? I adressen Inte i adressen
Mängd data Begränsad Stor
Passar för Sökningar och länkar som ska gå att spara som bokmärke eller skicka vidare Formulär som ändrar något, och känsliga uppgifter

POST-data är inte krypterad i sig. Det är https som skyddar den på vägen.

$_SERVER: information om anropet

Vill du se allt som finns i en superglobal kan du skriva ut hela arrayen:

echo "<pre>";
print_r($_SERVER);
echo "</pre>";

<pre> gör att radbrytningarna syns i webbläsaren.

Prova själv

  1. Ändra länken i första exemplet så att den skickar med ett tredje värde, och skriv ut det.
  2. Gör om formuläret från förra lektionen till method="get". Vad händer med adressen när du skickar?