Sessies in PHP
Wanneer we een pagina van een website in onze browser zien, heeft het PHP-script van die pagina allang gewerkt en ons vergeten. Daarom, als we van de ene pagina naar de andere gaan - kan het PHP-script de gegevens van de vorige pagina niet onthouden, bijvoorbeeld de waarden van variabelen.
Echter, zo'n mechanisme is erg nodig, al was het maar om de keuze van de gebruiker te onthouden of dat de gebruiker was geautoriseerd.
In PHP zijn sessies bedoeld voor het opslaan van gebruikersgegevens tussen pagina's van de website. We kunnen bepaalde informatie opslaan in de sessie en deze uitlezen bij de volgende start van dit of een ander script van de website. Met behulp van sessies kan autorisatie van gebruikers, een winkelwagentje voor een webwinkel en meer worden gerealiseerd.
De sessie van de gebruiker wordt op de server opgeslagen. Het leeft echter niet eeuwig, maar slechts ongeveer een half uur - als de gebruiker in die tijd geen enkele aanvraag naar de website heeft gedaan, dan wordt zijn sessie verwijderd en leeg.
Laten we eens kijken hoe we kunnen werken
met sessies in PHP.
Om iets in de sessie op te slaan, moet deze eerst
worden geïnitialiseerd met de functie
session_start:
<?php
session_start();
?>
Na initialisatie kunnen we iets opslaan
in de sessie of iets eruit lezen.
Dit gebeurt met behulp van de superglobale array
$_SESSION.
Laten we het in de praktijk proberen. We maken een bestand
test1.php en plaatsen er de volgende code in:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // schrijven in de sessie
?>
En in het bestand test2.php - de volgende code:
<?php
session_start();
echo $_SESSION['test']; // lezen uit de sessie
?>
Open nu om te beginnen in de browser het bestand
test1.php, en daarna test2.php.
Bij het openen van het tweede bestand in de browser wordt
weergegeven wat er in de sessie was opgeslagen in het eerste bestand.
Maak twee bestanden. Bij het starten van het eerste bestand schrijf je twee getallen in de sessie, en bij het starten van het tweede bestand - geef je de som van deze getallen weer op het scherm.