Variabile superglobale $_SESSION

La variabile $_SESSION viene utilizzata in PHP per memorizzare dati sul server e renderli disponibili tra diverse pagine del sito.

Le sessioni permettono di mantenere informazioni sull’utente mentre naviga tra le pagine di un sito web.

Sono molto usate per gestire:


Cos’è una sessione

Una sessione è un meccanismo che permette al server di riconoscere un utente tra diverse richieste HTTP.

Quando una sessione viene creata:

I dati della sessione vengono memorizzati sul server, non nel browser.


Avviare una sessione

Prima di usare $_SESSION bisogna avviare la sessione con la funzione:

session_start();

⚠ Questa funzione deve essere scritta prima di qualsiasi output HTML.


Esempio base

<?php

session_start();

$_SESSION["nome"] = "Paolo";

echo "Sessione creata";

?>

In questo esempio abbiamo salvato il valore Paolo nella variabile di sessione.


Leggere una variabile di sessione

Una volta creata, la variabile di sessione può essere utilizzata in altre pagine.

Esempio

<?php

session_start();

echo $_SESSION["nome"];

?>

Output:

Paolo

Esempio completo con due pagine

Pagina 1 – crea la sessione

<?php

session_start();

$_SESSION["utente"] = "Paolo";

echo "Sessione salvata";

?>

Pagina 2 – legge la sessione

<?php

session_start();

echo "Utente: " . $_SESSION["utente"];

?>

Output:

Utente: Paolo

Controllare se una sessione esiste

È buona pratica verificare che la variabile esista prima di usarla.

<?php

session_start();

if(isset($_SESSION["utente"])){

    echo "Benvenuto " . $_SESSION["utente"];

}

?>

Eliminare una variabile di sessione

Per eliminare una singola variabile di sessione si usa:

unset($_SESSION["utente"]);

Distruggere tutta la sessione

Per cancellare completamente la sessione si usa:

session_destroy();

Questo elimina tutti i dati della sessione.


Esempio pratico: login semplice

<?php

session_start();

$_SESSION["login"] = true;

echo "Accesso effettuato";

?>

In un’altra pagina possiamo controllare se l’utente è autenticato.

<?php

session_start();

if($_SESSION["login"] == true){
    echo "Area riservata";
}else{
    echo "Accesso negato";
}

?>

Vantaggi delle sessioni

Le sessioni offrono diversi vantaggi:


Quando usare le sessioni

Le sessioni vengono usate spesso per:


Conclusione

La variabile $_SESSION è uno strumento fondamentale nello sviluppo web con PHP. Permette di mantenere informazioni sugli utenti mentre navigano tra le pagine di un sito, rendendo possibili molte funzionalità dinamiche come autenticazione, carrelli e personalizzazione dei contenuti.


Se vuoi, nel prossimo articolo possiamo completare questo argomento con $_COOKIE, che è l’altra tecnica molto usata per memorizzare dati legati all’utente.