Quinta Lezione
Sommario:
Comunicare con l'Utente:
- I Moduli (o Forms)
- Analisi della creazione di un Modulo
- Analisi della pagiona che processa il Modulo
Qui inizia la parte non solo più interessante per lo sviluppatore ma anche quella nella quale
l'Asp esprime il meglio delle sue potenzialità: l'interattività con l'utenza.
I Moduli (o Forms)
La creazione dei
moduli non è materia esclusiva di Asp ma si studia anche in l'Html ed in
JavaScript. La ripasseremo velocemente mentre, invece, ci soffermeremo
maggiormente sulla parte che processa o, meglio, recupera e visualizza i
valori immessi nei moduli.
In questa prima esposizione esamineremo la creazione dei moduli, la loro lettura
e visualizzazione senza che i dati siano salvati nel server; successivamente
affronteremo gli stessi passaggi con l'aggiunta, però, dell'inserimento dei
dati inviati dall'utente nei records di database (sarà questo il punto
culminante dello studio di Asp) e della loro possibile manipolazione, lettura e
visualizzazione in qualsiasi momento successivo.
Forse tutti voi sapete che vi sono diversi tipi di campo del modulo:
- Caselle di testo: per immettere stringhe o numeri in generale
- Caselle di riepilogo: se si vuole limitare la selezione da parte dell'utente a
un (e, alle volte, anche più di uno) elemento facente parte di un elenco di
risposte ammesse, in particolare se tale serie è di grandi dimensioni (lo scopo
è di evitare errori di digitazione ed, in particolare, di convogliare
l'inserimento nell'ambito di tale elenco)
- Caselle di controllo: quando l'inserimento del dato è limitata alla risposta
"sì" o "no"
- Pulsanti di opzione: simili alle caselle di riepilogo ma limitati a poche
opzioni e alla possibiltà di scelta di un solo, o anche di nessun, dato.
In questa sede ci limiteremo ad esporre il primo di tale tipi (che poi è il
più diffuso) riservandoci, se del caso, di chiarire eventuali problemi relativi
agli altri tipi o nel forum oppure in un'appendice alle lezioni in corso.
Analisi della creazione di un Modulo
Partiamo con un esempio:
<Form Method = Post Action = "process.asp">
Scrivi il tuo nome
<Input Type = text Name = Nome>
<Input Type = "Submit" value = "Invia">
<Input Type = "Reset" value = "Reimposta">
<%
If request.querystring ("password") <> "pippo" then
Response.End
%>
<Html>
<Body>
<p align="center"> Pagina Riservata
</Body>
</Html>
Il modulo utilizza
il tag HTML <FORM> che, a sua volta, dispone di due proprietà: METHOD e
ACTION.
Method può essere impostato come GET o POST. Per ora useremo solo POST (il più
usato). Con i metodi i dati inseriti dall'utente vengono trasmessi
alla pagina Asp che li processa.
Il primo tag <INPUT> crea la casella e Type ci dice che la casella è di testo.
Il secondo tag <Input> crea un bottone che serve a trasmettere i dati
(alla pagina "process.asp")
Il terzo tag <Input> crea un bottone di reset per il caso di errore
nell'inserimento.
Analisi della pagina che processa il Modulo
Con action="process.asp"
i dati inseriti nel modulo (dopo aver pigiato il tasto "Invia")
vengono trasmessi alla pagina che li recupera e li visualizza o manipola.
Se il metodo di invio fosse stato GET i dati sarebbero passati alla pagina
"process.asp" attraverso la cosiddetta Querystring o Stringa di
Interrogazione risultante nell'URL di detta pagina; in altre parole, a fine
lettura della pagina che contiene la querystring, nella barra
dell'indirizzo nel browser si sarebbe letto: http://localhost/tuoSito/process.asp?Name=NomeImmesso.
Con il metodo POST, invece, non appaiono nell'URL i dati inseriti.
Il listato di process.asp potrebbe essere questo:
<%
Nome = request.form("Name")
Response.Write Nome
%>
Con il metodo GET,
al posto di request.form avremmo scritto request.querystring.
Output:
NomeImmesso.
C'è da aggiungere che non necessariamente i dati inseriti devono essere trasmessi ad un'altra
pagina che li recuperi: possono essere processati nel seno della stessa pagina del modulo ma, in tal caso,
saranno visualizzati insieme al modulo.
Vogliamo adesso fare un bell'esempio? Scriviamo questa pagina e salviamola con il nome di
proverbi.htm:
<Html>
<Body>
<Form method = post action = "ProcessProverbi.asp">
Nome:
<Input type = text name = nome>
<br>
Inserisci tre proverbi:
<br>
<Input type = text name = proverbio1 size =
50><br>
<Input type = text name = proverbio2 size =
50><br>
<Input type = text name = proverbio3 size =
50><br>
<p>
<Input type = submit value = "Invia i tuoi
proverbi">
</Form>
</Body>
</Html>
Si tratta della pagina con le caselle di testo in cui l'utente dovrà inserire
il proprio nome e tre proverbi. Adesso scriviamo la pagina che recupera i valori
inseriti e li visualizza; la chiameremo processProverbi.asp:
<% Language=VBScript
%>
<%
' Dichiaro le variabili relative ai valori del campo modulo
Dim strNome, strProverbio1, strProverbio2,
strProverbio3
'Mediante l'oggetto Request leggo i valori immessi
strNome = Request.Form("Nome")
strProverbio1 = Request.Form("Proverbio1")
strProverbio2 = Request.Form("Proverbio2")
strProverbio3 = Request.Form("Proverbio3")
%>
<Html>
<Body>
Ciao <%=strNome%>!
<p>
I tuoi tre proverbi sono:
<br>
<li><%=strProverbio1%>
<li><%=strProverbio2%>
<li><%=strProverbio3%>
</body>
</Html>
Nella prima parte
abbiamo recuperato, mediante l'oggetto Request, i valori immessi; nella seconda
li abbiamo visuallizzati.
Ecco l'output sia del modulo che dei risultati:

Allora,
ragazzi, come andiamo? Vi divertite o no? Dite la verità: non è piacevole
riuscire a sviluppare o programmare qualcosa? Pensate a quando riuscirete a fare
cose più complicate e di vostra creazione!!! E allora, FORZA!!!
Se vi sono problemi su questa o su successive lezioni, comunicatecelo nel
forum oppure scriveteci.
Stampa questa pagina
|