| Sessie variabelenEen PHP sessie variabele wordt gebruikt om informatie op te slaan, of instellingen te wijzigen voor de huidige sessie van de gebruiker.
|

Sessie variabelen houden informatie over een enkele gebruiker vast, en zijn in alle pagina´s binnen de applicatie beschikbaar.
PHP Sessie Variabelen
Als je met een applicatie bezig bent, open je deze, maak je wat wijzigingen, en sluit je het. Dit lijkt op een sessie. De computer weet wie je bent, wanneer je de applicatie hebt gestart, en wanneer je bent gestopt. Maar op het internet hebben we een probleem: De webserver weet niet wie je bent en wat je doet, omdat het HTTP adres dit niet onthoudt.
Een
PHP sessie lost dit probleem op, door informatie op de server op te slaan voor later gebruik. (b.v. gebruikers naam, webshop items, etc). Sessie informatie is tijdelijk, als de gebruiker de site verlaat gaat de data verloren.
Sessies werken door een unieke ID (UID) voor elke bezoeker aan te maken.
Een PHP Sessie Starten
Voordat er gebruikers informatie in een
PHP sessie kan worden opgeslagen, moeten we eerst de sessie starten.
N.b.: De session_start() functie moet VOOR de <html> tag staan:
voorbeeld:<?php session_start(); ?>
<html>
<body>
...
</body>
</html>
De bovenstaande code zal de gebruikers sessie registreren op de server, zal je toestaan informatie op te slaan in sessie variabelen en zal een UID toewijzen aan de sessie.
Opslaan van een Sessie Variabele
De juiste manier om een sessie variabele op te slaan en uit te lezen is door de
PHP $_SESSION variabele te gebruiken:
voorbeeld:<?php
session_start();
// sla sessie data op
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//haal sessie data op
echo "Pagina Weergaves=". $_SESSION['views'];
?>
</body>
</html>
Weergave:
voorbeeld:Pagina Weergaves=1
In het onderstaande voorbeeld maken we een eenvoudige pagina teller. De isset() functie bekijkt of de "views" variabele al bestaat. Als "views" al bestaat dan wordt er 1 bij de teller opgetelt, als "views" niet bestaat wordt deze aangemaakt en op 1 gezet:
voorbeeld:<?php
session_start();
if(isset($_SESSION['views'])){
$_SESSION['views']=$_SESSION['views']+1;
}else{
$_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
}
?>
Vernietigen van een Sessie
Als je sessie data wilt wissen, kan je de unset() functie of de session_destroy() functie gebruiken.
De unset() functie wordt vrij gebruikt voor een gespecificeerde variabele:
voorbeeld:<?php
unset($_SESSION['views']);
?>
Je kan ook de gehele sessie vernietigen door de session_destroy() functie aan te roepen:
voorbeeld:<?php
session_destroy();
?>
N.b.: session_destroy() zal de sessie resetten, alle sessie data gaat verloren.