Christian Castelli
a- a+

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>

 

<a href="iframe_CF_session1.html" title="Vedi esempio">Vedicodice</a>;

 

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.



Ti potrebbe interessare anche

commenta la notizia