Interaktive websites kræver i sagens natur input fra brugerne. En af de mest udbredte måder at få input på er såkaldte formularer - eller forms.
I denne lektion vil vi beskæftige os med hvordan du bygger et formular, og derefter behandler brugerens data på serveren. For en egentlig gennemgang af hvilke forskellige felter der findes i formular henvises til artiklen Lær at lave formularer (forms).
Når du koder din formular er der særligt to atributter som har betydning for hvordan formen opfører sig: action og method.
Siden som indeholder formularen behøver ikke at være en ASP fil (men kan naturligvis være det). Den behøver ikke engang ligge på det samme site som den fil, som skal modtage data.
I vores første eksempel kigger vi på en meget simpel formular med et tekst felt:
<html> <head> <title>Formular</title> </head> <body> <h1>Skriv dit navn</h1> <form method="post" action="modtag.asp"> <input type="text" name="brugernavn"> <input type="submit"> </form> </body> </html>
Resultatet i en browser er en formular:

Nu kommer vi til den sjove del - at modtage og behandle data fra formen med ASP.
Når man skal modtage data fra en form (og mange andre steder fra - men det kommer vi til) benyttes objektet request. Da vores data bliver submittet fra en form ved hjælp af metoden post, skriver vi:
Request.Form("FeltNavn")
Request returnerer således værdien af tekstfeltet i formen. Lad os prøve at bruge det i et eksempel.
Lav først en fil med en formular som ovenfor - og lav derefter en ASP fil ved siden af, som du kalder for "modtag.asp" - bemærk at det er navnet på den fil vi skrev i atributten action i vores <form>.
filen "modtag.asp" skal have følgende indhold:
<html> <head> <title>Formular</title> </head> <body> <% Response.Write "<h1>Hej " & Request.Form("brugernavn") & "</h1>" %> </body> </html>
I dette eksempel vil vi prøve at benytte brugerens input til at lave betingelser. Det første vi har brug for er en formular:
<html> <head> <title>Formular</title> </head> <body> <form method="post" action="modtag.asp"> <p>Hvad er dit navn: <input type="text" name="brugernavn"></p> <p>Hvad er din yndlingsfarve: <input type="radio" name="yndlingsfarve" value="r"> Rød <input type="radio" name="yndlingsfarve" value="g"> Grøn <input type="radio" name="yndlingsfarve" value="b"> Blå</p> <input type="submit"> </form> </body> </html>
Hvilket i en browser vil se sådan ud:

Lad os prøve at bruge disse input til at lave en side, som automatisk skifter baggrundsfarve efter hvad brugerens yndlingsfarve er. Det kan vi gøre ved at opstille en betingelse (jfr. lektion 6), som afhænger af hvordan brugeren har udfyldt formularen.
<% strOverskrift = "<h1>Hej " & Request.Form("brugernavn") & "</h1>" Select Case Request.Form("yndlingsfarve") Case "r" strBaggrundsfarve = "rgb(255,0,0)" Case "g" strBaggrundsfarve = "rgb(0,255,0)" Case "b" strBaggrundsfarve = "rgb(0,0,255)" Case Else strBaggrundsfarve = "rgb(255,255,255)" End Select %> <html> <head> <title>Formular</title> </head> <body style="background: <% =strBaggrundsfarve %>;"> <% Response.Write strOverskrift %> </body> </html>
Som du kan se bliver baggrundsfarven hvid hvis brugeren ikke har udfyldt formularen med oplysninger om sin yndlingsfarve. Dette sker ved at benytte Case Else til at angive hvad der skal ske hvis ingen af de ovenstående betingelser er opfyldt.
Men hvad hvis brugeren ikke udfylder sit navn? Så stå der bare "Hej" som overskrift. Det vil vi nu prøve at ændre på ved at indsætte en ekstra betingelse.
<% strBrugernavn = Request.Form("brugernavn") If strBrugernavn <> "" Then strOverskrift = "<h1>Hej " & strBrugernavn & "</h1>" Else strOverskrift = "<h1>Hej Fremmede!</h1>" End If Select Case Request.Form("yndlingsfarve") Case "r" strBaggrundsfarve = "rgb(255,0,0)" Case "g" strBaggrundsfarve = "rgb(0,255,0)" Case "b" strBaggrundsfarve = "rgb(0,0,255)" Case Else strBaggrundsfarve = "rgb(255,255,255)" End Select %> <html> <head> <title>Formular</title> </head> <body style="background: <% =strBaggrundsfarve %>;"> <% Response.Write strOverskrift %> </body> </html>
Vi brugte altså en betingelse til at validere oplysningerne fra brugeren. I dette tilfælde ville det ikke betyde særligt meget hvis brugeren ikke skrev sit navn - men efterhånden som du koder mere og mere avancerede ting vil du opleve at det er helt afgørende at man tager højde for at brugeren måske ikke altid udfylder formularer, som du havde forestillet dig.