Sessioner i PHP
Når vi ser en websides side i vores browser, har PHP-scriptet for denne side for længst kørt og glemt om os. Derfor, hvis vi navigerer fra en side på websitet til en anden - kan PHP-scriptet ikke huske data fra den forrige side, for eksempel værdier af variabler.
Dog er en sådan mekanisme meget nødvendig, i det mindste for at huske brugerens valg eller at brugeren var logget ind.
I PHP er sessioner designet til at lagre brugerdata mellem sider på websitet. Vi kan skrive enhver information ind i en session og læse den derfra i næste kørsel af dette eller et andet script på websitet. Ved hjælp af sessioner kan man implementere brugerautorisation, indkøbskurv til en webshop og andet.
Brugerens session lagres på serveren. Den lever dog ikke evigt, men kun omkring en halv time - hvis brugeren i løbet af denne tid ikke har foretaget nogen henvendelser til sitet, så bliver hans session slettet og bliver tom.
Så lad os se på, hvordan man arbejder
med sessioner i PHP.
For at skrive noget til sessionen, skal den først
initialiseres ved hjælp af funktionen
session_start:
<?php
session_start();
?>
Efter initialisering kan vi skrive noget
til sessionen eller læse noget derfra.
Dette gøres ved hjælp af det superglobale array
$_SESSION.
Lad os prøve det i praksis. Lad os lave filen
test1.php og placere følgende kode i den:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // skriver til sessionen
?>
Og i filen test2.php - følgende kode:
<?php
session_start();
echo $_SESSION['test']; // læser fra sessionen
?>
Prøv nu først at åbne filen
test1.php i browseren, og derefter test2.php.
Ved åbning af den anden fil i browseren vil der blive vist
det, der blev skrevet til sessionen i den første fil.
Lav to filer. Når den første fil køres, skal der skrives to tal til sessionen, og når den anden fil køres - skal summen af disse tal vises på skærmen.