Active Server Pages
ASP-koulutus / kurssit v. 2008
Kurssit saatavilla kautta Suomen. Tule, tutustu ja varaa oma koulutustapahtumasi jo tänään. Kurssit järjestää IT-koulutuksen asiantuntijasi, Koulutus- ja konsultointipalvelu KK Mediat
Lomakkeen syötteen käsittely
Lomakkeen tietojen käsittely ASP:n avulla
Jos olet tarkkasilmäinen, huomasit varmaan että edellisen sivun HTML/XHTML-lomakkeen koodissa lomakkeenkäsittelijäksi on määrätty sama tiedosto, joka sisältää itse lomakkeen. Tämä johtuu siitä, että ASP:n (kuten minkä tahansa palvelinpuolen ohjelmointiteknologian avulla) on mahdollista luoda samalla sivulle erillinen sisältö HTTP/GET ja HTTP/POST-pyynnöille. Tämä tapahtuu hyödyntämällä Request.ServerVariables-kokoelmaa.
Vaihe 2. Muokkaa tiedostossa lomake.asp olevaa koodia, siten että se muistuttaa alla olevaa:
...
<%
If (Request.ServerVariables("REQUEST_METHOD")<> "POST") Then
' GET pyyntö
%>
<form id="form1" name="form1" method="post" action="lomake.asp">
...
</form>
<%
Else
' POST pyyntö, sijoita lomakkeen käsittely tänne
End If
%>
...
Koska lomakkeen informaatio lähetetään HTTP/POST-menetelmän avulla, päästään lähetettyyn informaatioon käsiksi Request.Form-kokoelman avulla. Tämän perusteellla voidaan luoda seuraava koodi:
<%
Else
' POST pyyntö, sijoita lomakkeen käsittely tänne
' alustetaan / luodaan tarvittavat muuttujat
Dim strNimi, strEmail, strViesti, strYhteystapa
' ja sijoitetaan arvot
strNimi = Request.Form("l_nimi")
strEmail = Request.Form("l_email")
strViesti = Request.Form("l_viesti")
strYhteystapa = Request.Form("l_yhteys")
' virheentarkistus tähän
' viestin jatkokäsittely tähän
End If
%>
...
Suunnitteluvaiheessa oli määritelty, että sähköpostitieto oli pakollinen, muut optionaalisia. Tätä varten luomme yksinkertaisen virheenkäsittelyn, joka tarkistaa että tiedot on annettu halutulla tavalla:
Lomakkeen tietojen tarkistuksessa on yleisesti ottaen kaksi toteutustapaa. Ensimmäinen tapa on käyttää clientside-ratkaisua, esim. JavaScript-kieltä. Tällöin lomakkeen tiedot tarkistetaan asiakkaan selaimella ennen kuin ne lähetetään palvelimelle. Toinen ratkaisu on tietenkin hyödyntää tässä käytettävää serverside-ratkaisua, jossa lomakkeen tiedot tarkistetaan palvelimella. Uusimmissa/kehittyneimmissä teknologiossa, esim. ASP.NET, Ruby On Rails ja STRUTS menetelmät yhdistyvät automaattisesti toisiinsa.
<%
Else
' POST pyyntö, sijoita lomakkeen käsittely tänne
' alustetaan / luodaan tarvittavat muuttujat
Dim strNimi, strEmail, strViesti, strYhteystapa
' ja sijoitetaan arvot
strNimi = Request.Form("l_nimi")
strEmail = Request.Form("l_email")
strViesti = Request.Form("l_viesti")
strYhteystapa = Request.Form("l_yhteys")
' virheentarkistus tähän
If strEmail = "" Then
Response.Write "<p>Virhe. Sähköpostiosoite on pakollinen tieto. " & _
"Ole hyvä ja palaa " &_
"edelliselle sivulle painamalla selaimesi Back-painiketta.</p>"
Else
If strNimi = "" Then
strNimi = "n/a"
End If
If strViesti = "" Then
strViesti = "n/a"
End If
If strYhteystapa = "" Then
strYhteystapa = "n/a"
End If
' viestin jatkokäsittely tähän
Response.Write "<p>Kiitos yhteydenotosta.</p>"
End If
End If
%>
...
Seuraavaksi tutustumme tapoihin, joilla vastaanotettua tietoa voidaan jatkokäsitellä / tallentaa.
Tutustu artikkelin muihin osiin:
»»» ASP »»» Lomakkeen suunnittelu
»»» ASP »»»Lomakkeen tietojen peruskäsittely ASP:n avulla
»»» ASP »»»Tietojen välittäminen eteenpäin sähköpostitse sekä tallentaminen tietokantaan
»»» ASP »»»Esimerkkikoodi
Tallenna tämä sivu kirjanmerkkeihin!