![]() |
|||||
Guida PHP | |||||
Le sessioni in PHP
Le sessioni sono variabili del server che servono a gestire la sessione di navigazione dell'utente e non solo. Simili ai cookies ma più sicure perchè dipendono meno dal browser dell'utente, le sessioni vengono in genere impiegate per gestire aree riservate oppure per ottemperare a funzionalità di controllo per le quali si sceglie di usarle al posto cookies. La sostanziale differenza tra cookies e sessioni è che una session scade al termine della navigazione dell'utente o alla chiusura del browser e non è possibile impostarne la scadenza o gestirne altri aspetti. In PHP utilizziamo la variabile $_SESSION per creare e per leggere la sessione, ma dobbiamo sempre, come prima riga del file, dichiarare l'utilizzo delle sessioni utilizzando la funzione session_start(). La struttura di una pagina PHP che utilizza le sessioni è dunque la seguente:
<?
session_start();
?>
<html>
...
Creizione e lettura di una sessione in PHPFacciamo un esempio:
<?
session_start();
?>
<html>
<body>
<?
// Creo la sessione
$_SESSION["autore"] = "Luca Ruggiero";
// Stampo a video il valore della sessione
echo $_SESSION["autore"];
?>
</body>
</html>
Vedremo stampato a video il valore "Luca Ruggiero". La sessione è ormai attiva e, fino alla fine della navigazione da parte dell'utente il suo valore sarà memorizzato. Si provi dunque (senza chiudere il browser con la pagina di esempio) a cancellare la riga che crea la sessione, lasciando solo la riga che ne legge il valore, come nell'esempio che segue:
<?
session_start();
?>
<html>
<body>
<?
echo $_SESSION["autore"];
?>
</body>
</html>
Anche se il valore della session non è più presente nello script, il suo valore sarà stampato a video, essendo ancora presente nella memoria del server. Cancellazione di una sessione in PHPPer cancellare il valore della sessione sarà sufficiente impostare su "vuoto" il suo valore, come nell'esempio che segue:
<?
session_start();
$_SESSION["autore"] = "";
// Distrugge solo la sessione specificata
?>
E' possibile anche utilizzare la funzione unset() di PHP oppure la specifica funzione session_destroy() che non si limita a distruggere una singola sessione ma distrugge tutte le sessioni attive in quel momento sul server per il browser collegato. Facciamo un esempio di codice per entrambe le funzioni:
<?
session_start();
unset($_SESSION["autore"]);
// Distrugge solo la sessione specificata
?>
oppure:
<?
session_start();
session_destroy();
// Distrugge tutte le sessioni attive
?>
Scritto in data 15/01/2008
|
Appunti PHP per categoriaGuida PHP Guida MySQL Tutorial PHP Tutorial MySQL Tips and Tricks Referenze Download Libreria ExtraNovità
Un AdServer in PHP e MySQL
Hosting Linux su ConsultingWeb.it
Password casuali con PHP
Ottimizzare una tabella MySQL
Contatore grafico in PHP
Pagamento online con PayPal e PHP
Leggere i meta tag con PHP
Criptare le informazioni con la funzione crypt di PHP
Celle a colori alternati in PHP
Importare dati da CSV a MySQL
TagAJAX, Email, LAMP, Login, MS Access, MS Excel, MS Office, MS Word, PDF, phpMyAdmin, Statistiche, Upload, XML Corsi online
Corso PHP Altri corsi
Corso HTML Link utili
Contatore Gratis Siti amici
© 2008 Appunti PHP - A cura di Luca Ruggiero - Partita IVA 05564851219 -
Privacy |
Pubblicità |
Contatti
| | |||