Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

I cookies

Cookies e sessioni a confronto
Cookies e sessioni a confronto
Link copiato negli appunti

Come abbiamo osservato nelle lezioni precedenti, è possibile memorizzare dati all'interno del sito web. Questi dati però avranno una visione limitata sia nella visibilità che nel tempo. Proviamo ora a ricordare le validità delle variabili. Se dichiariamo all'interno della pagina una variabile con la seguente sintassi:

<%
dim mia_variabile
mia_variabile = valore_da_impostare
%>

questa variabile sarà valida e quindi visibile solamente all'interno della pagina in cui viene creata. Se vogliamo ampliare la visibilità della stessa variabile anche in altre pagine del web, dobbiamo per forza usare le variabile di sessione. Per utilizzare tale tipo di variabile bisogna utilizzare il seguente codice asp:

<% sessione("mia_variabile")= valore_da_impostare %> 

Adesso, avendo impostato mia_variabile come tipo di sessione, potremo vederla e agire sulla stessa da tutte le pagine del web. Il problema di questo tipo di variabile è la durata nel tempo. Infatti, la sua vita per default è impostata a venti minuti. Inoltre non è possibile condividere questa variabile tra i diversi utenti connessi. Se vogliamo condividere una variabile tra tutti gli utenti collegati, basta utilizzare le application. La sintassi di creazione di una variabile di questo tipo è:

<%
application.lock
appliation("mia_variabile")= valore_da_impostare
application.unlock
%> 

Questa variabile, a differenza delle altre precedentemente illustrate, ha una vita a noi non prevedibile in quantità di tempo. Infatti questa vive sino a quando abbiamo un utente collegato al nostro sito web. Quando il nostro web resta deserto (si intende senza visitatori) la nostra application muore.Troverete i tre tipi di variabile appena illustrati nelle lezioni specifiche ottenendo una spiegazione migliore.

A questo punto sorge una domanda spontanea: se devo mantenere un dato vivo (cioè attivo in memoria) per un lungo periodo di tempo come faccio? La risposta è molto semplice. Bisogna utilizzare i cookies. Prima di spiegare a livello pratico i cookies, vedremo come funzionano da un punto di vista teorico, osserveremo i loro vantaggi ed i loro svantaggi. Iniziamo subito con analizzare la visibilità dei cookies nel rapporto utente/tempo. La visibilità del cookies è del singolo utente e la durata nel tempo è variabile. Questa durata dipende da una impostazione specifica che si impartisce durante la creazione fisica del cookies. Se è vero (è lo è) quello che ho affermato in precedenza sulla visibilità delle variabili come fa il cookies a vivere per un tempo non stabilito anticipatamente? La risposta è semplice. Il cookies viene creato sul SS (Server Side - Lato Server) in base a delle direttive date dalla pagina asp programmata e viene inviato (tramite comandi appositi) sotto forma di file di testo al CS (Client Side - Lato Utente). E' appunto per questo motivo che il cookies ha una vita prolungata nel tempo. Ciò è possibile grazie al fatto che il cookies risiede NON sul server, ma sul computer del visitatore.

Dopo l'introduzione teorica dei cookies, passiamo al lato pratico. Iniziamo a dire subito che i cookies sono metodi di due oggetti già illustrati nella sezione riguardante gli oggetti. Questi sono l'oggetto response e l'oggetto request. Come si può facilmente intuire, se si conoscono le funzionalità e caratteristiche dei due oggetti in questione illustrate precedentemente, in che modo questi due oggetti intervengono nell'utilizzo dei cookies? L'oggetto response, come ricorderete, ha il compito di inviare dati al Client Side. Infatti sarà appunto grazie a questo oggetto ed il relativo metodo che verrà creato il cookies. Lo stesso principio vale per la lettura del cookies, effettuata con l'oggetto request.

Adesso vediamo la sintassi per la creazione (quindi fase di scrittura sul Client Side) del cookies. In quest'esempio andremo a memorizzare la scritta innovatel all'interno di un cookies chiamato nome_forum.

<%
'Creazione fisica del cookies
response.cookies("nome_forum")="innovatel"
'Impostazione data di scadenza del cookies
response.cookies("nome_forum").expires = DateSerial(2002,5,15)
%> 

Grazie all'istruzione response.cookies("nome_forum")="innovatel", generiamo il cookies citato in precedenza. La scadenza del cookies (impostata con l'expire) viene assegnata tramite il comando DateSerial ed impostata al 15/05/2002 (data in formato italiano). Nel caso NON dovessimo assegnare il valore di scadenza tramite la proprietà expires, il cookies muore quando la sessione di navigazione viene interrotta. Una nota sulla frase precedente: col termine sessione non si intende il tipo di variabile illustrata in precedenza, ma il tempo in cui il browser di navigazione resta aperto. Adesso osserviamo come prelevare il valore immesso nel cookies nome_forum. Una volta ottenuto il valore, lo mostreremo a video in modo da realizzare un saluto personalizzato.

<%
'Dichiarazione variabile
dim strNome
'Lettura fisica del cookies
strNome=request.cookies("nome_forum")
'Realizzazione del saluto personalizzato
response.write "Ciao " & strNome & " ! "
%> 

Prima di concludere la lezione dei cookies, voglio illustrare una particolarità degli stessi. Con una semplice operazione, è possibile utilizzare i cookies come dei semplici array. Infatti possiamo assegnare diverse chiavi di accesso allo stesso cookies. Ogni chiave consente di accedere ad un dato specifico (provate a ricordare le ante dell'armadio viste nella sezione delle variabili mentre si illustravano gli array). Questo tipo di cookies viene chiamato cookies con chiavi. Adesso effettueremo le stesse operazioni viste in precedenza col nuovo tipo di cookies. Incominciamo con la scrittura e quindi creazione del cookies.

<%
'Creazione fisica del cookies
response.cookies("visitatore")("nome_forum")="innovatel"
response.cookies("visitatore")("nome_reale")="Andrea"
response.cookies("visitatore")("cognome_forum")="Carratta"
'Impostazione data di scadenza del cookies
response.cookies("visitatore").expires = DateSerial(2002,5,15)
%> 

come si può osservare, la scadenza del cookies è globale. Infatti NON è possibile impostare una scadenza possibile per chiave. Ora vedremo il codice di lettura e genereremo il saluto personalizzato.

<%
'Dichiarazione variabile
dim strNomeForum
dim strNomeReale
dim strCognomeReale
'Lettura fisica del cookies
strNomeForum=request.cookies("visitatore")("nome_forum")
strNomeReale=request.cookies("visitatore")("nome_reale")
strCognomeReale=request.cookies("visitatore")("cognome_forum")
'Realizzazione del saluto personalizzato
response.write "Ciao "&strNomeReale&" "&strCognomeReale"
!<br>"
response.write "Sei identificato come "&strNomeForum&"
all'interno del forum."
%> 

Com'è stato possibile osservare, non è molto diverso l'utilizzo di questo tipo di cookies. Infatti il procedimento d'uso (sia in lettura che scrittura) è identico. Bisogna solo ricordare di specificare la chiave specifica di accesso al cookies dopo il suo nome. Il procedimento è analogo a quello svolto quando si specificava l'indice dell'array dopo la dichiarazione del nome di variabile.

In conclusione voglio aggiungere una nota sui cookies. Molta gente li teme in quanto pensa che trasmettano dati o contenuti dannosi. Spero che dopo questa lezione il timore da parte vostra sia diminuito o addirittura sparito. Infatti i cookies sono solo un mezzo di memorizzazione dati a lunga scadenza (dipende sempre dal valore impostato nella proprietà expires).  

Ti consigliamo anche