Gestione della sessione in PHP

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.

Torna su