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!

 

2kmediat.com, ©2000-2008 Koulutus- ja konsultointipalvelu KK Mediat.
Tekijänoikeuksia koskeva tiedonanto | Tietosuojalausunto | Sivukartta