sei sul sito di Giovanni Fraterno
Prima di andare avanti con
la programmazione in ASP è doveroso aprire una parentesi sull’utilizzo della collection form nell’HTML.
La collection form consente
ai programmatori di passare dati
attraverso più pagine web.
La collection form, che
inizia sempre con il tag FORM, specifica:
- il
modo in cui
inviare i dati
- e
la pagina web
che dovrà riceverli.
I modi
per inviare i dati sono due: GET e POST.
GET è un sistema di invio dati veloce ma poco capiente,
e ciò perchè è possibile inviare al massimo 256
caratteri.
I dati inviati con GET, inoltre, vengono visualizzati, nella barra degli indirizzi del
browser, insieme all’indirizzo della pagina web che dovrà riceverli, sebbene
separati da un punto interrogativo.
Nell’esempio successivo è
riportato ciò che si legge, nella barra degli indirizzi del browser, dopo
l’invio della variabile regione ed il suo valore friuli,
alla pagina web pagina_ricevente.asp, pagina
presente sul sito web con indirizzo http://www.sito_di_fantasia.it
Ecco l’esempio:
http://www.sito_di_fantasia.it/pagina_ricevente.asp?regione=friuli
POST, invece, è un sistema più
lento, ma senza limiti sul numero massimo di
caratteri che è possibile inviare.
E’ inoltre più sicuro in quanto i
dati inviati non vengono visualizzati.
Gli attributi del tag FORM che definiscono appunto:
- il modo in cui inviare i dati
- e
la pagina web
che dovrà riceverli
sono rispettivamente METHOD
ed ACTION.
La sintassi per il metodo GET è (fa parte del codice HTML del file default.asp di invio):
<FORM METHOD="get" ACTION="pagina_ricevente.asp"></FORM>
La sintassi per il metodo POST è (fa parte del codice HTML del file default.asp di invio):
< FORM METHOD="post" ACTION="pagina_ricevente.asp"></FORM>
Per ricevere
e gestire i dati, la pagina web ricevente o di
destinazione, che da questo momento chiameremo seconda_pagina.asp, deve contenere il codice
appropriato, e ciò a seconda del metodo (GET o POST) utilizzato in fase di
invio, metodo appunto specificato all’interno del file default.asp.
L’oggetto base che gestisce
la ricezione dei dati
è REQUEST.
Se i dati vengono
ricevuti attraverso il metodo GET bisogna
aggiungere a REQUEST la proprietà querystring.
Se i dati vengono
ricevuti attraverso il metodo POST bisogna aggiungere
a REQUEST la proprietà form.
Ovvero:
request.querystring(“”)……dati ricevuti attraverso il metodo GET
request.form (“”)…………..dati ricevuti attraverso il metodo POST
Di seguito è riportato un caso
pratico che implementa un passaggio di dati
acquisiti appunto attraverso un form.
Pagina di invio
dati (default.asp): propone all’utente
l’immissione del suo nome e cognome, poi, tramite un pulsante, predispone
l’invio dei dati:
<html>
<head>
<title></title>
</head>
<body>
<form name="form1" method="POST"
action="seconda_pagina.asp">
<table width="300">
<tr>
<td>nome</td>
<td><input
type="text" name="nome"></td>
</tr>
<tr>
<td>cognome</td>
<td><input
type="text" name="cognome"
id="cognome"></td>
</tr>
<tr>
<td></td>
<td><input
type="submit" name="Submit"
value="invia"></td>
</tr>
</table>
</form>
</body>
</html>
Pagina di destinazione (seconda_pagina.asp): stampa a video la combinazione
di un semplice testo unito al risultato fornito dalla pagina chiamante (quella di invio dati di cui appena sopra):
<html>
<head>
<title></title>
</head>
<body>
<%response.write
"Il nome inserito è: " & request.form("nome")
response.write "<br>Il cognome inserito è:
" & request.form("cognome")%>
</body>
</html>