La gestione della sessione in PHP consente di mantenere dati tra diverse richieste da parte dello stesso utente. Ciò è particolarmente utile per autenticazione, carrelli della spesa, e altre funzionalità che richiedono persistenza dei dati.
Inizializzazione della sessione
Per iniziare una sessione in PHP, si utilizza la funzione session_start()
. Questa funzione deve essere chiamata prima di qualsiasi output HTML.
<?php
session_start();
?>
Salvataggio dei dati nella sessione
I dati vengono salvati nella superglobale $_SESSION
, che è un array associativo. Puoi salvare qualsiasi tipo di dato serializzabile.
<?php
$_SESSION['username'] = 'MarioRossi';
$_SESSION['logged_in'] = true;
?>
Lettura dei dati dalla sessione
Una volta che i dati sono stati salvati nella sessione, possono essere recuperati in qualsiasi script successivo, purché session_start()
venga chiamato.
<?php
session_start();
echo $_SESSION['username'];
?>
Verifica dell'esistenza di variabili di sessione
È buona pratica verificare se una variabile di sessione è impostata prima di utilizzarla.
<?php
if (isset($_SESSION['logged_in']) && $_SESSION['logged_in'] === true) {
echo "Utente autenticato.";
} else {
echo "Utente non autenticato.";
}
?>
Distruzione della sessione
Per terminare una sessione e rimuovere tutti i dati associati, si usa session_destroy()
. Inoltre, è consigliabile eliminare anche il cookie della sessione.
<?php
session_start();
session_unset();
session_destroy();
setcookie(session_name(), '', time() - 3600, '/');
?>
Conclusione
La gestione delle sessioni in PHP è uno strumento essenziale per la creazione di applicazioni web dinamiche. Con poche semplici funzioni, è possibile mantenere lo stato dell'utente in modo sicuro e persistente tra diverse pagine.