Le sessioni in PHP

In questo post vorrei fare una semplice introduzione alle sessioni in php.
Le sessioni permettono di salvare temporaneamente le informazioni dell'utente nel server per un riutilizzo (es: nome utente, elementi nel carrello, ecc). Ad ogni utente viene assegnato il suo identificativo univoco (UID) per evitare di avere due utenti con gli stessi dati.

Avviare la sessione

Prima di salvare le informazioni dell'utente dovete inizializzare la sessione. Il codice di avvio sessione deve essere inserito prima di ogni output con questa sintassi:
<?php
session_start(); // inizializza la sessione!
?> 

Salvare variabili di sessione

Per creare delle variabili di sessione dovete usare "$_SESSION", ad esempio:
<?php
session_start(); 
$_SESSION['visite'] = 1; // salvo i dati

echo "Visite: ". $_SESSION['visite']; // stampo i dati
?>

Sessioni e "isset"

Ora siete in grado di salvare e ricevere dati usando le sessoni, a volte però è necessario controllare se una variabile di sessione è stata inizializzata oppure no. Per fare questo potete usare la funzione isset.
<?php
session_start();  
if(isset($_SESSION['visite']))
    $_SESSION['visite'] = $_SESSION['visite'] + 1;
else
    $_SESSION['visite'] = 1;

echo "views = ". $_SESSION['visite']; 
?>

In questo esempio la prima volta che il browser apre la pagina il contatore è a 1 perchè la variabile di sessione non è ancora stata inizializzata.

Pulire e distruggere la sessione

Una volta che i dati in sessione non vi servono più è buona norma pulire e distruggere la sessione.
<?php
session_start();  
if(isset($_SESSION['num_carta']))
    unset($_SESSION['num_carta']); 
?>

Per distruggere la sessione:
<?php
session_start(); 
session_destroy();
?> 

Questa è solo una piccola guida introduttiva alle sessioni in php, per gli approfondimenti ricordate di visitare le pagine della documentazione ufficiale.

Commenti