Redazione
a- a+

Gestire la sessione usando PHP

INTRODUZIONE

Questo tutorial è destinato a darvi una semplicespiegazione su come gestire la sessione (session) usandoPHP.
Per coloro che non sanno cos'è una sessione,basta semplicemente dire che è un mezzo per preservaredeterminati dati attraverso accessi successivi.
Questo vi permette di sviluppare applicazioni piùpersonalizzate e incrementare l'interesse al vostro sitoweb.
Questo tutorial presuppone alcune conoscenze da parte dellettore:
* Familiarità con PHP
* Avere accesso al server o ai server che fanno funzionareil pacchetto di PHP.


COME CREARE UNA SESSIONE

Ci sono alcuni semplici punti da seguire quando si crea unasessione PHP, vediamo di semplificarli:
1. Assegnare un nome alla sessione (questo èfacoltativo, PHP lo assegnerà per voi)
2. Iniziare la sessione
3. Registrare le variabili
4. Assegnare valori per le variabili di sessione
5. Passare la sezione alle pagine consecutive
Questi punti si possono eseguire utilizzando varie funzionidi PHP per la gestione delle sessioni.
Per raggiungere il nostro obiettivo, ci soffermiamo sulleseguenti funzioni di PHP:

 

string session_name ( [string name] )bool session_start ( )bool session_register ( mixed name [, mixed ...] )

 

La funzione session_name() ci permette di assegnare un nomealla sessione.
Il nome della sessione può contenere solamentecaratteri alfanumerici e deve essere breve e descrittivo.

La funzione session_start() genera una nuova funzione oppureriprende la sessione corrente.
Questa funzione restituirà sempre, come valore, TRUE.

La funzione session_register() accetta una variabile eregistra la variabile globale con quel nome nella sessionecorrente.
Questa funzione restituisce un valore TRUE quando tutte levariabili sono registrate con successo, e un valore FALSE incaso contrario.


COSTRUIRE UNA SESSIONE

Usando le funzioni che abbiamo visto precedentemente, andiamoora a creare una sessione e registrare in essa alcuni valori:

1 <?php 2 $last_sess = session_name("ExampleSession"); 3 echo "The prior session name was $last_sess<br>"; 4 $new_sess = session_name("ExampleSession"); 5 echo "The new session name is $new_sess<br>"; 6 ?>

Questa parte di codice dovrebbe prelevare il nome di defaultdella sessione di PHPSESSID alla sua prima chiamata eriassegnare un nome ExampleSession alla seconda chiamata.

1 <?php 2 $last_sess = session_name("ExampleSession"); 3 $new_sess = session_name("ExampleSession"); 4 session_start(); 5 echo "The prior session name was $last_sess<br>"; 6 echo "The new session name is $new_sess<br>"; 7 echo "The new session has started<br>"; 8 ?>

In questo modo abbiamo dato un nome e iniziato la nostrasessione.
Noterete che i commenti ora sono stati spostati sotto lefunzioni di sessione.
Questo perché session_start() verrà trasmessocon le nostre intestazioni HTTP, altrimenti verràgenerato un errore.
Il passo successivo è quello di assegnare alcuni datisignificativi alla sessione per l' accesso successivo.


USARE LA SESSIONE

Ora proviamo ad assegnare alcune variabili alla sessione perun uso futuro all'interno dell'applicazione.
In questo caso lasciamo che sia PHP a dare un nome allasessione:

01 <?php 02session_start(); 03 session_register("SESSION_DATA"); 04 if (! isset($SESSION_DATA)) { 05 $SESSION_DATA["count"] = 0; 06 echo "<li>Counter has been initialized. Reload page to see results."; 07 } else { 08 echo "<li>Session name: $PHPSESSID"; 09 $SESSION_DATA["count"]++; 10 } 11 echo "<li>The counter is now at: $SESSION_DATA[count]"; 12 ?>

Questa parte di codice, registrerà una sessione allavisita iniziale, dopodiché andrà adincrementare di +1 il contatore, ad ogni visita successiva.

Per default, PHP lascia una traccia delle sessioni nei filestemporanei nella /tmp directory.
Se avete accesso a quell'area sul vostro server, potetevedere i files temporanei fisicamente residenti nel server.

Per cancellare le variabili di sessione si utilizza lafunzione session_destroy().

bool session_destroy ( )

Questa funzione distrugge tutti i dati associati allasessione corrente, ma lascia invariate le variabili globali ela sessione dei cookies.
Questa funzione restituisce un valore TRUE in caso disuccesso o di FALSE nel caso sia fallita la distruzione deidati della sessione.

01 <?php 02 session_start(); 03 session_register("SESSION_DATA"); 04 if (! isset($SESSION_DATA)) { 05 $SESSION_DATA["count"] = 0; 06 echo "<li>Counter has been initialized. Reload page to see results."; 07 } else { 08 echo "<li>Session name: $PHPSESSID"; 09 $SESSION_DATA["count"]++; 10 } 11 echo "<li>The counter is now at: $SESSION_DATA[count]"; 12 session_destroy(); 13 ?>

Questa parte di codice impedirà al contatore diincrementarsi quando la variabile viene distrutta alla finedi ogni script in esecuzione.


CONCLUSIONE

La sessione permette di registrare delle variabili cheverranno conservate attraverso richieste multiple. Quando unvisitatore entra nel vostro sito, PHP controlleràautomaticamente, oppure dietro vostra richiesta, se unaspecifica sessione ID è stata spedita con larichiesta.
In questo caso la condizione precedente è ricreata.



Ti potrebbe interessare anche

commenta la notizia