Načrtovanje in razvoj spletnih aplikacij

Seje v PHP

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>
Vrednost moje seje: 435e7fb04f9a43b4965aa76ab3ca2e89

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>
Ogledov: 1