Gestione Form
> Scritto da Matteo Gentile il giorno 28/01/2003

  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> 


--------------------------------------------------------------------------------------------
AZPoint.net - http://www.azpoint.net
Vietata ogni forma di duplicazione