PHP Sessies

PHP session variabelen worden gebruikt om informatie over gebruikerssessies op te slaan of de instellingen van gebruikerssessies te wijzigen. De informatie die door session variabelen wordt opgeslagen is voor een enkele gebruiker en kan worden gebruikt op alle pagina's van de applicatie.

PHP Session Variabelen

Wanneer u een applicatie uitvoert, opent u deze, maakt enkele wijzigingen en sluit deze dan. Dit lijkt veel op een sessie. De computer weet wie u bent. Het weet wanneer u de applicatie start en wanneer u deze beëindigt. Maar op het internet bestaat er een probleem: de server weet niet wie u bent en wat u doet, omdat HTTP-adressen de status niet kunnen handhaven.

Door gebruikersinformatie op te slaan op de server voor latere gebruik lost PHP dit probleem op (bijvoorbeeld gebruikersnaam, gekochte producten, enz.). De sessie-informatie is echter tijdelijk en wordt verwijderd nadat de gebruiker de website verlaat. Als u informatie permanent wilt opslaan, kunt u de gegevens opslaan in een database.

Het werkingssysteem van de sessie is: voor elke bezoeker wordt een unieke id (UID) gecreëerd en worden variabelen op basis van deze UID opgeslagen. De UID wordt opgeslagen in een cookie of overgebracht via de URL.

Start een PHP Sessie

Voordat u gebruikersinformatie opslaat in de PHP sessie, moet u eerst de sessie starten.

Opmerking:De functie session_start() moet zich bevinden voor de <html>-tag:

<?php session_start(); ?>
<html>
<body>
</body>
</html>

Het bovenstaande code zorgt ervoor dat de gebruikerssessie op de server wordt geregistreerd, zodat u gebruikersinformatie kunt opslaan en een UID voor de gebruikerssessie wordt toegewezen.

Opslaan van Session Variabelen

Het juiste manier om session variabelen op te slaan en op te halen is door gebruik te maken van de PHP $_SESSION variabele:

<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>

Uitvoer:

Pageviews=1

In onderstaand voorbeeld maken we een eenvoudige page-view teller. De functie isset() controleert of de variabele "views" is ingesteld. Als "views" is ingesteld, voegen we de teller toe. Als "views" niet bestaat, maken we de variabele "views" aan en zetten we deze op 1:

<?php
session_start();
if(isset($_SESSION['views']))
  $_SESSION['views']=$_SESSION['views']+1;
else
  $_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>

Session beëindigen

Als u bepaalde sessiongegevens wilt verwijderen, kunt u de functies unset() of session_destroy() gebruiken.

De functie unset() wordt gebruikt om specifieke session variabelen vrij te geven:

<?php
unset($_SESSION['views']);
?>

U kunt ook de session volledig beëindigen met de functie session_destroy():

<?php
session_destroy();
?>

Opmerking:session_destroy() zal de session herstellen, u zult alle opgeslagen sessiongegevens verliezen.