In questo articolo si mostra un esempio di gestione di form con ASP.
I form HTML permettono ad un utente di inserire dei dati all'interno di una pagina HTML nelle classiche caselle di testo.
I form inviano i dati presenti al loro interno alla pagina definita come ACTION attraverso due metodi (METHOD):
GET
POST
La differenza tra i due stà nel fatto che nel primo caso i dati vengono passati si vedono all’interno della barra degli indirizzi del browser, mentre nel secondo essi sono mascherati.
ASP fornisce due modi (attraverso due metodi dell'Oggetto Request) per recuperare i dati inviati da un form HTML:
Request.QueryString
Request.Form
Il primo è usato se il form ha METHOD="GET", il secondo se ha invece METHOD="POST".
Vediamo ora un esempio di getione di un form che si sviluppa su due pagine.
Nella prima, Form.asp è presente un form con due campi (Username e Password) e una sezione di script che recupera e gestisce gli eventuali errori forniti dalla pagina Verifica.asp.
Vediamo il codice di Form.asp:
<%Option Explicit%>
<html><head><title>Form</title></head>
<body>
Riempi i campi:
<% Dim Errore
Dim Messaggio
Errore = Request.QueryString("errore")
Select Case Errore
Case "1"
Messaggio = "Il campo Username non è stato debitamente compilato"
Case "2"
Messaggio = "Il campo Password non è stato debitamente compilato"
Case "3"
Messaggio = "Entrambi i campi non sono stati debitamente compilati"
End Select
Response.Write(Messaggio)%>
<Form Name="test" Action="Conferma.asp" Method="post">
Username: <input type="text" name="Username" value=""><br>
Password: <input type="text" name="Password" value=""><br>
<input type="submit" value="Invia">
</form></body></html>
Vediamo quindi il codice di Conferma.asp:
<% Option Explicit
dim Username
dim Password
dim Errore
'Prende i dati in input
Username = Request.Form("Username")
Password = Request.Form("Password")
'Controlla quali campi sono stati lasciati in bianco
Errore = 0
if Username = "" then Errore = 1
if Password = "" then Errore = Errore + 2
'Se ci sono errori viene richiamata la pagina di input
If Errore > 0 then Response.Redirect("Form.asp?errore=" & Errore)
End If %>
<html><head><title>Conferma</title></head>
<body>
Hai inserito i seguenti dati ...<br>
Username: <%= Username %><br>
Password: <%= Password%><br>
</body></html>
|