Nota:

l'interfaccia utente di Dreamweaver CC e versioni successive è stata semplificata. Di conseguenza, potreste non trovare alcune delle opzioni descritte in questo articolo in Dreamweaver CC e versioni successive. Per ulteriori informazioni, consultate questo articolo.

Le origini di contenuto dinamico

Un'origine di contenuto dinamico è una sorta di archivio di informazioni da cui potete richiamare e visualizzare il contenuto dinamico da utilizzare in una pagina Web. Le origini del contenuto dinamico possono essere non solo informazioni archiviate in un database, ma anche valori inviati da moduli HTML, valori contenuti in oggetti server e altre origini di contenuto.

Dreamweaver consente di accedere facilmente al database e di creare un recordset dal quale estrarre il contenuto dinamico. Un recordset è il risultato di una query di database. Esso consente di estrarre le informazioni specifiche richieste e di visualizzarle all'interno di una pagina specifica. Il recordset viene definito in base alle informazioni contenute nel database e al contenuto da visualizzare.

La terminologia adottata per un recordset può variare a seconda del produttore della tecnologia. In ASP e in ColdFusion, un recordset è definito query. Se vengono utilizzate altre origini di dati, come ad esempio input dell'utente o variabili server, il nome dell'origine dati definito in Dreamweaver corrisponde al nome stesso dell'origine dati.

Per i siti Web dinamici è necessario specificare un'origine dati dalla quale richiamare e visualizzare il contenuto dinamico. Dreamweaver consente di utilizzare database, variabili di richiesta, variabili URL, variabili server, variabili modulo, stored procedure e altre origini di contenuto dinamico. A seconda dell'origine dati, potete richiamare nuovo contenuto in risposta a una richiesta o modificare la pagina in base alle esigenze degli utenti.

Le origini di contenuto definite in Dreamweaver vengono inserite nell'elenco visualizzato nel pannello Associazioni. In seguito, potete inserire l'origine di contenuto nella pagina selezionata.

Informazioni sui recordset

Le pagine Web non accedono direttamente ai dati archiviati in un database, bensì interagiscono con un recordset, ovvero un sottoinsieme di informazioni (record) estratte dal database mediante una query di database. Una query è un'istruzione di ricerca che viene formulata per trovare ed estrarre informazioni specifiche da un database.

Per utilizzare un database come origine del contenuto per una pagina Web dinamica, dovete innanzitutto creare un recordset in cui archiviare i dati richiamati. I recordset svolgono la funzione di intermediari tra il database in cui è archiviato il contenuto e il server applicazioni che genera la pagina. I recordset vengono temporaneamente memorizzati nella memoria del server applicazioni per consentire un recupero più veloce dei dati. Il server elimina i recordset che non sono più necessari.

Una query può produrre un recordset che comprende soltanto determinate colonne, determinati record o una combinazione di tali elementi. Inoltre, un recordset può comprendere anche tutti i record e le colonne di una tabella di database. Tuttavia, poiché è raro che le applicazioni richiedano l'utilizzo di tutti i dati di un database, è opportuno creare dei recordset di dimensioni il più possibile contenute. Il server Web conserva provvisoriamente in memoria il recordset. L'utilizzo di recordset più piccoli permette quindi di risparmiare memoria e può migliorare le prestazioni del server.

Le query di database sono scritte in SQL (Structured Query Language), un linguaggio semplice che consente di richiamare, aggiungere ed eliminare i dati di un database. Il generatore SQL incluso in Dreamweaver consente di creare query semplici senza conoscere il linguaggio SQL. Tuttavia, se desiderate creare delle query SQL complesse, una conoscenza di base di questo linguaggio consente di creare delle query più avanzate e vi fornisce una maggiore flessibilità nella progettazione delle pagine dinamiche.

Prima di procedere alla definizione di un recordset da utilizzare in Dreamweaver, dovete creare una connessione a un database e, se il database è vuoto, inserire i dati nel database. Se non è stata ancora definita una connessione di database per il sito, vedete il capitolo relativo alle connessioni di database per la tecnologia di server specifica e attenetevi alle istruzioni per la creazione della connessione.

Parametri URL e parametri di modulo

I parametri URL memorizzano le informazioni richiamate inserite dagli utenti. Per definire un parametro URL viene creato un modulo o un collegamento ipertestuale che utilizza il metodo GET per l'invio dei dati. Le informazioni vengono aggiunte all'URL della pagina richiesta e comunicate al server. Se vengono utilizzate variabili URL, la stringa della query contiene più coppie nome/valore associate ai campi del modulo. Le coppie nome/valore vengono aggiunte all'URL.

I parametri di modulo memorizzano le informazioni richiamate incluse nella richiesta HTTP di una pagina Web. Se create un modulo che utilizza il metodo POST, i dati inviati dal modulo vengono passati al server. Prima di iniziare, assicuratevi di passare un parametro di modulo al server.

Informazioni sulle variabili di sessione

Le variabili di sessione consentono di memorizzare e visualizzare le informazioni che vengono conservate per l'intera durata della visita (o della sessione) dell'utente. Il server crea un oggetto sessione diverso per ciascun utente e lo conserva per un determinato intervallo di tempo o fino a quando l'oggetto non viene esplicitamente terminato.

Dal momento che durano per l'intera sessione e persistono quando l'utente si sposta da una pagina all'altra dell'applicazione, le variabili di sessione sono lo strumento ideale per memorizzare le preferenze dell'utente. Queste variabili possono essere utilizzate anche per inserire un valore nel codice HTML della pagina, assegnare un valore a una variabile locale o fornire un valore per valutare un'espressione condizionale.

Prima di procedere alla definizione delle variabili di sessione per una pagina, è necessario crearle nel codice di origine. Dopo aver creato una variabile di sessione nel codice di origine dell'applicazione Web, potete utilizzare Dreamweaver per richiamarne il valore e utilizzarlo in una pagina web.

Funzionamento delle variabili di sessione

Le variabili di sessione contengono informazioni (ad esempio parametri modulo o parametri URL inviati dagli utenti) e le rendono disponibili a tutte le pagine di un'applicazione Web per la durata della visita dell'utente. Ad esempio, quando gli utenti si collegano a un portale Web che fornisce l'accesso a e-mail, quotazioni azionarie, bollettini meteo e notiziari giornalieri, l'applicazione Web archivia le informazioni di accesso in una variabile di sessione che identifica l'utente in tutte le pagine del sito. Questo consente all'utente di visualizzare solo il tipo di contenuto selezionato mentre naviga nel sito. Le variabili di sessione possono fornire anche un meccanismo di sicurezza che chiude la sessione dell'utente nel caso in cui l'account rimanga inattivo per un periodo di tempo prestabilito. Ciò consente inoltre di liberare memoria e risorse di elaborazione sul server nel caso in cui l'utente si dimentichi di disconnettersi da un sito Web.

Le variabili di sessione conservano le informazioni per tutta la durata della sessione dell'utente. La sessione inizia quando l'utente apre una pagina nell'applicazione e termina quando l'utente non apre altre pagine per un determinato periodo di tempo, oppure quando chiude esplicitamente la sessione (di solito facendo clic su un collegamento di disconnessione). Per tutta la sua durata, la sessione è specifica per il singolo utente e ogni utente dispone di una sessione separata.

Utilizzate le variabili di sessione per archiviare informazioni accessibili a tutte le pagine di un'applicazione Web. Le informazioni possono essere di diverso tipo e includere, ad esempio, il nome utente, le dimensioni preferite per il carattere o un flag che indichi se la connessione è andata a buon fine o meno. Le variabili di sessione vengono comunemente utilizzate anche per memorizzare dati aggiornati di continuo, ad esempio il numero di domande a cui l'utente ha risposto correttamente in un quiz online oppure i prodotti finora selezionati dall'utente in un catalogo online.

Le variabili di sessione possono funzionare soltanto se il browser dell'utente è configurato per accettare i cookie. Il server crea un numero di ID per la sessione che identifica in modo univoco l'utente all'avvio della sessione e che quindi invia al browser dell'utente un cookie contenente il numero di ID. Quando l'utente richiede un'altra pagina al server, quest'ultimo legge il cookie nel browser per identificare l'utente e per recuperare le variabili di sessione dell'utente archiviate nella memoria del server.

Raccolta, archiviazione e recupero di informazioni in variabili di sessione

Prima di creare una variabile di sessione, è necessario ottenere le informazioni che desiderate memorizzare e inviarle al server per l'archiviazione. Le informazioni possono essere raccolte e inviate al server mediante moduli HTML o collegamenti ipertestuali contenenti parametri URL. Potete ottenere informazioni anche dai cookie archiviati sul computer dell'utente, dalle intestazioni HTTP inviate dal browser dell'utente con la richiesta di una pagina oppure da un database.

Un esempio tipico di memorizzazione dei parametri URL nelle variabili di sessione è un catalogo di prodotti che utilizza parametri URL hardcoded, creati mediante un collegamento, per inviare informazioni sul prodotto al server da archiviare in una variabile di sessione. Quando un utente fa clic sul collegamento “Aggiungi al carrello”, l'ID del prodotto viene archiviato in una variabile di sessione mentre l'utente continua a fare acquisti. Quando l'utente passa alla pagina di pagamento, l'ID del prodotto archiviato nella variabile di sessione viene recuperato.

Un sondaggio basato su moduli è un tipico esempio di una pagina che memorizza i parametri modulo nelle variabili di sessione. Il modulo invia le informazioni selezionate al server, dove una pagina dell'applicazione calcola i risultati del sondaggio e memorizza le risposte in una variabile di sessione da inviare a un'applicazione che potrebbe tenere conto delle risposte raccolte da tutti gli utenti che hanno effettuato il sondaggio. Le informazioni potrebbero essere anche memorizzate in un database per uso futuro.

Dopo l'invio al server, le informazioni vengono archiviate in variabili di sessione mediante l'aggiunta del codice appropriato per il modello di server alla pagina specificata dal parametro URL o dal parametro modulo. Questa pagina, detta pagina di destinazione, è specificata nell'attributo action del modulo HTML oppure nell'attributo href del collegamento ipertestuale presente nella pagina iniziale.

Dopo aver archiviato un valore in una variabile di sessione, potete utilizzare Dreamweaver per recuperare il valore dalle variabili di sessione e usarlo in un'applicazione web. Dopo aver definito la variabile di sessione in Dreamweaver, potete inserirne il valore in una pagina.

La sintassi HTML corrispondente ha il seguente aspetto:

<form action="destination.html" method="get" name="myform"> </form> 
<param name="href"value="destination.html">

Il codice utilizzato per archiviare le informazioni in una variabile di sessione viene determinato sia dalla tecnologia server utilizzata sia dal metodo prescelto per ottenere le informazioni. La sintassi di base per ogni tecnologia server è la seguente:

ColdFusion

<CFSET session.variable_name = value>

ASP

<% Session("variable_name") = value %>

L'espressione value è solitamente un'espressione server come ad esempio Request.Form(“lastname”). Se per ottenere le informazioni utilizzate ad esempio un parametro URL chiamato product (o un modulo HTML con il metodo GET e un campo di testo chiamato product), le istruzioni seguenti archiviano le informazioni in una variabile di sessione chiamata prodID:

ColdFusion

<CFSET session.prodID = url.product>

ASP

<% Session("prodID") = Request.QueryString("product") %>

Se per ottenere informazioni utilizzate un modulo HTML con il metodo post e un campo di testo txtProduct, le istruzioni seguenti archiviano le informazioni nella variabile di sessione:

ColdFusion

<CFSET session.prodID = form.txtProduct>

ASP

<% Session("prodID") = Request.Form("txtProduct") %>

Esempio di informazioni archiviate in variabili di sessione

State lavorando a un sito visitato da numerosi utenti in età avanzata. In Dreamweaver, aggiungete due collegamenti alla schermata di benvenuto che consentono all'utente di personalizzare le dimensioni del testo del sito. Se l'utente desidera un testo con caratteri più grandi e di più facile lettura, fa clic su un determinato collegamento, mentre per un testo di dimensioni normali utilizza un altro collegamento.

Informazioni archiviate in variabili di sessione
Informazioni archiviate in variabili di sessione

Ogni collegamento ha un parametro URL fontsize che invia al server le preferenze dell'utente relative al testo, come mostrato nell'esempio seguente di Adobe ColdFusion®:

<a href="resort.cfm?fontsize=large">Larger Text</a><br> 
<a href="resort.cfm?fontsize=small">Normal Text</a>

Archiviate le preferenze del testo dell'utente in una variabile di sessione e utilizzatele per impostare le dimensioni del carattere di ogni pagina richiesta dall'utente.

Vicino alla parte superiore della pagina di destinazione, inserite il seguente codice per creare una sessione chiamata font_pref, che archivia le preferenze dell'utente per le dimensioni del carattere.

ColdFusion

<CFSET session.font_pref = url.fontsize>

ASP

<% Session("font_pref") = Request.QueryString("fontsize") %>

Quando l'utente fa clic sul collegamento ipertestuale, la pagina invia le preferenze testuali dell'utente alla pagina di destinazione mediante un parametro URL. Il codice della pagina di destinazione archivia il parametro URL nella variabile di sessione font_pref. Per tutta la durata della sessione dell'utente, tutte le pagine dell'applicazione recuperano questo valore e visualizzano il carattere nelle dimensioni selezionate.

Variabili di applicazione ASP e ColdFusion

In ASP e ColdFusion, potete utilizzare le variabili di applicazione per memorizzare e visualizzare le informazioni che vengono conservate per tutta la durata di esecuzione dell'applicazione e persistono da utente a utente. La durata di esecuzione dell'applicazione ha inizio dal momento in cui il primo utente richiede una pagina e termina con il momento in cui il server Web viene interrotto. (Un'applicazione comprende tutti i file presenti in una directory virtuale e in tutte le relative sottodirectory.)

Poiché permangono per tutta la durata di esecuzione dell'applicazione e persistono da utente a utente, le variabili di applicazione sono ideali per memorizzare le informazioni valide per tutti gli utenti, ad esempio la data e l'ora correnti. Il valore della variabile di applicazione è definito nel codice dell'applicazione.

Variabili server ASP

Potete definire le seguenti variabili server ASP come origini di contenuto dinamico: Request.Cookie, Request.QueryString, Request.Form, Request.ServerVariables e Request.ClientCertificates.

Variabili server ColdFusion

Potete definire le seguenti variabili server ColdFusion:

Variabili client

Associano i dati a un client specifico. Le variabili client conservano lo stato dell'applicazione quando l'utente si muove da una pagina all'altra dell'applicazione e da sessione a sessione. Conservare lo stato significa preservare le informazioni da una pagina (o sessione) all'altra, in modo che l'applicazione ricordi l'utente e le relative scelte e preferenze precedenti.

Variabili cookie

Accedono ai cookie passati al server dal browser.

Variabili CGI

Forniscono informazioni sul server che esegue ColdFusion, sul browser che richiede una pagina e ulteriori informazioni sull'ambiente di elaborazione.

Variabili server

Possono essere utilizzate da tutti i client e da tutte le applicazioni sul server. Questo tipo di variabili persiste fino all'interruzione del server.

Variabili locali

Create con il tag CFSET o CFPARAM all'interno di una pagina ColdFusion.

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online