Met PHP beschik je over zogenaamde sessions. Dit betekent dat een gebruiker van je web project op je site komt, iets doet en de site de gegevens onthoudt gedurende het bezoek van deze ene gebruiker. Op de achtergrond vindt dan een session plaats. Via PHP kun je dit instellen en gebruiken. Met name als je een inlog wilt maken dan heb je sessions nodig. Dus tijd om eens nader te kijken wat er allemaal mogelijk is.
Starten van een session
De functie session_start( ); begint een session op je site. Dit betekent dat je een global variabele start. Daarna kun je gegevens gaan toevoegen aan je session en deze weer oproepen waar je deze gegevens nodig hebt. Klinkt lastig? Komt goed, de basis moet je door om te snappen wat er allemaal kan. Een klein voorbeeld laat zien wat de eerste mogelijkheden zijn.
<?php
// start de session
session_start();
$_SESSION['favcolor'] = "red";
$_SESSION['favcar'] = "Toyota";
?>
<html>
<body>
<?php
echo "Sessions variables are: ";
echo "Favoriete kleur: " . $_SESSION['favcolor'] . "<br>";
echo "Favoriete auto: " . $_SESSION['favcar'];
?>
</body>
</html>
De pagina moet eerst starten met de functie session_start(); daarna kun je andere code toevoegen. Dan werkt het. Zet je code voor deze functie, dan zul je merken dat de site niet goed meer werkt. Dus weer daarop beducht. Daarna zet je de variabel in de session door aan $_SESSION[‘var’] de info toe te voegen. Dit is hetzelfde dat je doet als je een formulier verzendt met $_POST of $_GET. Ook dit zijn superglobals. De werking is dus vergelijkbaar.
Daarna kun je de variabelen oproepen in de code door de juiste session variabele op te roepen in je site. Dit zie je in de code in de body van de site. Let goed op met gebruik van aanhalingstekens en punten. Dit is een precies werkje en vraagt een zeer consequente gedragslijn van je. Probeer maar eens in je code om dubbele aanhalingstekens op een plek te vervangen met een enkele aanhalingsteken. Dan merk je direct dat de code niet meer werkt.
Einde van een session
Als je klaar bent met het gebruik van een session, dan kun je de functie session_unset( ) en session_destroy( ) gebruiken. De unset functie zorgt ervoor dat je alle session variabelen verwijdert van je server. Daarna vernietig je de session met session_destroy functie. Deze functies heb je uiteraard nodig als je met een inlog deel werkt op je web project. De persoonsgegevens van je gebruiker kun je dan opslaan in de session variabelen en vervolgens over de hele site oproepen. Is de gebruiker klaar, dan vernietig je deze weer om te voorkomen dat iemand anders ermee aan de haal gaat. Hoe dat werkt? Dat volgt in een ander artikel. Om een kleine indruk te geven hoe je deze codes kunt gebruiken op de log-out pagina, hebben we onderstaande code gemaakt.
<?php
session_start();
?>
<html>
<body>
<?php
session_unset();
session_destroy();
?>
</body>
</html>