Seja (angl. Session) lahko za čas obiska spletne strani hrani na strežniku poljubne podatke o uporabniku, na uporabnikovi strani pa se hrani samo identifikator seje. Navadno v sejah shranjujemo le manjše količine podatkov (npr. identifikatorje, kratke nize...). Seje imajo s strani strežnika le določen čas veljavnosti, največkrat pa jih uporabljamo za: prijavo (angl. Login), nakupovalne košarice, podatke večkoračnih operacij...
V PHP uporabo seje najavimo z ukazom session_start();
. Podatke seje beremo in pišemo preko predefinirane spremenljivke $_SESSION
, ki jo uporabljamo kot asociativno polje. Podatki se privzeto hranijo v posebnih datotekah (lahko tudi v pomnilniku ali kako drugače), nekaterih podatkov pa v seje ne shranjujemo kot npr. podatkovnih tipov resource
in v določenih primerih object
. Seje uničimo z ukazom session_destroy()
, posamezen ključ seje pa uničimo z ukazom unset()
.
<?php
session_start();
$_SESSION['moja_seja']= md5(uniqid(rand()));
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>PHP: Seja</title>
</head>
<body>
<?php
echo 'Vrednost moje seje: ' . $_SESSION['moja_seja'];
?>
</body>
</html>
Primer: števec obiskov strani
<?php
//števec ogledov strani
session_start();
if(!isset($_SESSION['stevec']))
$_SESSION['stevec'] = 1;
else
$_SESSION['stevec']++;
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>PHP: Seja</title>
</head>
<body>
<?php echo 'Ogledov: ' . $_SESSION['stevec']; ?>
</body>
</html>