PHP
HTML
CSS
JavaScript
Generatori
Varie & Old

PHP: Sessioni

Sessioni in PHP

Le sessioni permettono di memorizzare informazioni sul server e di associarle a un utente tramite un identificatore unico. Sono fondamentali per gestire login, carrelli e preferenze senza dipendere dai cookie.

Introduzione alle sessioni

Le sessioni sono uno strumento di PHP per mantenere i dati tra le diverse richieste di un utente. A differenza dei cookie, i dati delle sessioni vengono salvati lato server e associati all’utente tramite un identificatore di sessione (session ID), che viene solitamente trasmesso all’interno del cookie PHPSESSID.


Avvio di una sessione

Per utilizzare le sessioni è necessario chiamare session_start() all’inizio dello script, prima di qualsiasi output HTML.

Codice Esempio: avvio e creazione variabili di sessione

CODE: PHPpreleva codice
  1. <?php
  2. session_start();
  3.  
  4. // Creo variabili di sessione
  5. $_SESSION["utente"] = "Mario";
  6. $_SESSION["ruolo"] = "admin";
  7.  
  8. echo "Variabili di sessione create.";
  9. ?>
  10. <!-- Output nel browser:
  11. Variabili di sessione create.
  12. -->

Lettura delle variabili di sessione

Una volta impostate, le variabili di sessione possono essere lette in qualunque pagina che utilizzi session_start().

Codice Esempio: lettura variabili di sessione

CODE: PHPpreleva codice
  1. <?php
  2. session_start();
  3.  
  4. echo "Utente: " . $_SESSION["utente"] . "<br>";
  5. echo "Ruolo: " . $_SESSION["ruolo"];
  6. ?>
  7. <!-- Output nel browser:
  8. Utente: Mario
  9. Ruolo: admin
  10. -->

Eliminazione di variabili e chiusura della sessione

Si possono eliminare singole variabili di sessione con unset() oppure distruggere l’intera sessione con session_destroy().

Codice Esempio: distruzione sessione

CODE: PHPpreleva codice
  1. <?php
  2. session_start();
  3.  
  4. // Elimino una variabile specifica
  5. unset($_SESSION["ruolo"]);
  6.  
  7. // Distruggo tutta la sessione
  8. session_destroy();
  9.  
  10. echo "Sessione terminata.";
  11. ?>
  12. <!-- Output nel browser:
  13. Sessione terminata.
  14. -->

Tabella riassuntiva funzioni sessioni

Funzione Descrizione Esempio
session_start()Avvia la sessione o la riprende se già esistentesession_start()
$_SESSIONArray associativo che contiene le variabili di sessione$_SESSION["utente"]
unset()Elimina una variabile specifica della sessioneunset($_SESSION["ruolo"])
session_destroy()Distrugge completamente la sessionesession_destroy()

Considerazioni

Le sessioni sono più sicure dei cookie perché i dati restano sul server, ma richiedono attenzione nella configurazione e gestione del session ID per evitare attacchi di hijacking.


I Cookie su questo sito:

Il nostro sito utilizza cookie e altre tecnologie in modo tale che sia noi, sia i nostri partner, possiamo ricordarci di te e capire come tu e gli altri visitatori utilizzate il nostro sito. Qui puoi trovare ulteriori informazioni sui cookie e le altre tecnologie. Chiudendo questo banner o continuando la navigazione acconsenti all'uso dei cookie. Acconsento Info Cookies