|
Analizzeremo in questo tutorial l'utilizzo dell'oggetto ASP built-in
'Request', per quanto riguarda l'utilizzo con le form.
L'interazione con
l'utente si ha quando all'utente viene presentata una form, o maschera,
contenente dei campi, che possono essere dei bottoni, delle box che contengono
del testo, dei menù a tendina o dei radio-button, che l'utente riempie.
Il risultato di queste azioni compiute dall' utente viene passato
all' applicativo tramite l'oggetto 'Request'.
A seconda del metodo che viene specificato nell' oggetto <FORM>, l'input dell'
utente viene passato o tramite una 'Request.QueryString', se il metodo è 'get',
o tramite una 'Request.Form' se il metodo è 'post', sempre sotto
forma di coppie nome/valore.
La differenza sostanziale è che col metodo 'get' queste copie
vengono passate in chiaro nella stringa dell' URL, nel secondo metodo sono
invece nascoste e trasparenti all'utente.
Ma veniamo ad un caso pratico: ecco un
esempio di form che utilizza il metodo 'post':
<form method = "POST">
Inserisci il nome: <input type="text" size="20" name="nome">
<BR>
<input type="submit" value="INVIA">
</form>
<% response.write "hai inserito il nome:"
response.write request.form ("nome") %>

ed eccco il risultato:

se anzichè scrivere response.write request.form
("nome") avessimo scritto: response.write
request.form , avremmo ottenuto in output anzichè solo il valore
'giancarlo' anche il nome del text box, cioè:

Nel caso che avessimo usato il metodo get, avessimo cioè scritto:
<form method = "GET">
Inserisci il nome: <input type="text" size="20" name="nome">
<BR>
<input type="submit" value="INVIA">
</form>
<% response.write "hai inserito il nome:"
avremmo dovuto usare, per leggere i dati, l'opzione 'querystring',
anzichè l'opzione 'form':
response.write request.QueryString ("nome") %>
ecco un esempio:

ed ecco il risultato:

noterete che col metodo 'get', la stringa composta dal nome del campo e
dal suo valore viene passata in chiaro nell' URL dell'indirizzo.
Non essendo specificato, nel'oggetto <FORM>, nè la proprietà
'target', nè la proprietà 'action', il risultato viene mostrato nella stessa finestra, in aggiunta
ai dati preesistenti.
Se, viceversa avessimo scritto:
<form method = "GET",
action=nuovafin.asp>
si sarebbe aperta la pagina 'nuovafin.asp', e il metodo
request.form avrebbe dovuto
essere scritto in quest'ultima pagina. Lo stesso se avessimo usato la proprietà
'target':
<form method = "GET",target=nuova>
in questo caso 'nuova' potrebbe essere il nome di una finestra, o
di un frame, e la
request.form dovrebbe essere stata scritta in quella finesta o in
quel frame.
|