Sessione e gestione delle applicazioni (Le strutture)
SESSIONI E GESTIONE DELLE APPLICAZIONI
Le strutture
Una struttura in ColdFusion è un tipo di dato chepuò esser usato per collezionare dati. ColdFusionfornisce molte funzioni per rendere agevole la manipolazionedelle strutture. Alcune di queste funzioni sono rappresentatenella tabella sottostante:
Funzioni delle strutture
Funzione | Descrizione |
---|---|
IsStruct | ritorna true se la variabile specificatarappresenta una struttura. |
StructNew | crea una nuova struttura. |
StructClear | rimuove tutti i dati dalla struttura specificata. |
StructDelete | rimuove l'elemento specificato dalla struttura. |
StructFind | ritorna il valore associato ad una chiave specificanella struttura specificata. |
L'esempio sottostante crea una struttura chiamataperson
, vi aggiunge delle proprietà,cancella una proprietà e poi esegue un'iterazionein una sottostruttura.
Es.1: Structure.cfm
<html> <head> <title>Le strutture</title> </head> <body> <cfset person = StructNew()> <cfset person.firstName = "Paul"> <cfset person.lastName = "McCartney"> <cfset person.age = 61> <cfset person.talents.sing = True> <cfset person.talents.playsGuitar = True> <cfset person.talents.bungyJumps = False> <cfset StructDelete(SESSION, "username")><cfoutput><p>Structure Elements: #StructCount(person)#</p></cfoutput> <ul> <cfloop collection="#person.talents#" item="talent"> <cfoutput><li>#talent#: #person.talents[talent]#</li></cfoutput> </cfloop> </ul> </body> </html>
La visibilità delle sessioni, delle applicazioni edelle variabili lato client sono tutte disponibili comestrutture ColdFusion, il che significa che possono esseremanipolate usando le funzioni delle strutture.
Esempi di sessioni
Es.2: session1.cfm. Questa pagina setta unavariabile di sessione e la stampa in output.
<cfset SESSION.SessVar = "Hello world!"><html> <head> <title>Pagina di sessione 1</title> </head> <body> Il contenuto di SESSION.SessVar è <cfoutput>#SESSION.SessVar#</cfoutput>. <a href="Session2.cfm">Avanti</a> </body> </html>
Es. 3: session2.cfm. Questa pagina stampa inoutput la stessa variabile di sessione per poi cancellarlacon StructDelete()
.
<html> <head> <title>Pagina di sessione 2</title> </head> <body> Il contenuto di SESSION.SessVar è ancora <cfoutput>#SESSION.SessVar#</cfoutput>. <cfset StructDelete(Session,"SessVar")> <a href="Session3.cfm">Avanti</a> </body> </html>
Es. 4: session3.cfm. Questa pagina tenta dileggere la variabile di sessione cancellata fallendo. Vienestampato un errore del tipo "Element SESSVAR isundefined in SESSION
."
<html> <head> <title>Pagina di sessione 3</title> </head> <body>Il contenuto di SESSION.SessVar non è più <cfoutput>#SESSION.SessVar#</cfoutput>. </body></html>
Cookies
I cookies sono piccoli file di testo che risiedono sullamacchina client. Le pagine web con i permessi correttipossono leggere e scrivere su tali cookies. Vengonogeneralmente usati per tracciare le informazioni riguardo adun utente mentre naviga nel sito.
In ColdFusion, i cookies vengono impostati con il tag<cfcookie>
, che possiede svariatiattributi. Eccone una lista:
-
name
: il nome del cookie (obbligatorio); -
value
: il valore del cookie; -
expires
: la data di scandeza del cookie (se manca, il cookie scadrà quando il browser verrà chiuso); -
secure
: un flag che indica se il cookie dovrebbe esser letto solo attraverso connessioni protette (https); -
path
: il percorso alla directory sul server per leggere i cookie; -
domain
: il nome del dominio che può leggere il cookie.
Il seguente codice imposterà un cookie chescadrà fra una settimana:
<cfcookie name="firstname" value="Paul" expires="7">
Il seguente codice imposterà un cookie chescadrà il 31 dicembre 2008:
<cfcookie name="firstname" value="Paul" expires="12/31/08">
Il seguente codice imposterà un cookie che nonscadrà mai:
<cfcookie name="firstname" value="Paul" expires="never">
Per cancellare un cookie, è sufficiente settare ladata di scandeza a now()
:
<cfcookie name="firstname" value="Paul" expires="now">
Conclusioni
La gestione delle sessioni è un aspetto chiavenecessario per creare applicazioni web complete. In questalezione avete imparato a lavorare con le variabili disessione e di applicazione. Inoltre avete imparato come usareil tag <cfapplication>
e come sfruttare lestrutture.
- Articolo precedente Sessioni e gestione delle applicazioni (Le sessioni)
- Articolo successivo Lavorare con i files e le directory (Parte I)