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
Lomakkeet ja ASP
Kenties kaikkein yleisin lomakkeiden käyttökohde ovat erilaiset palaute- ja yhteydenottolomakkeet. Seuraavien kolmen osion aikana luomme kokonaisuuden, joka sisältää palaute/yhteydenotto-lomakkeen käyttöliittymän, käyttäjäsyötteen käsittelyn sekä tietojen edelleenlähettämisen.
Lomakkeen suunnittelu
Ensimmäinen ja tärkein vaihe minkä tahansa sovelluksen ja käyttöliittymän suunnittelussa on tietenkin suunnittelutyö. Palaute- ja yhteydenottolomakkeissa se tarkoittaa kerättävien tietojen ja käyttötarkoituksen määrittelyä - mitä tietoja kerätään, miksi niitä kerätään, miten data esitetään asiakkaalle, miten data tallennetaan / jatkokäsitellään jne.Kaikki nämä ovat kysymyksiä, jotka on otettava huomioon ennen lomakkeen suunnittelua, sillä ne vaikuttavat mm. käytettävyyteen, vaadittavaan tietosuojakäytäntöön, sekä tietenkin varsinaiseen koodausurakkaan.
Esimerkiksi:
- Kerättävien tietojen määrä tulisi rajata vain olennaiseen - mitä enemmän turhaa tietoa kerätään, sitä todennäköisempää on että asiakas jättää lomakkeen kokonaan täyttämättä, tai täyttää sen vain osittain
- Kerättävien tietojen käyttötarkoitus - Jos tietoja kerätään esim. postituslistaa tms. suoramarkkinointia varten, on sovellukseen luotava nk. vahvistusmekanismi (nk. opt-in) . Jos kerättävät tiedot sisältävät arkaluonteista tietoa (esim. henkilötunnus), on niiden käsittelyssä otettava huomioon verkkopalvelun tietosuojakäytäntö ja tietojen riittävä suojaus. Jne.
- Miten kysymykset esitetään käyttäjälle? Avoin syötekenttä, monivalinta vai jokin muu muoto?
- Mitä tietoja käyttäjä voi syöttää ? Esim. palaute/yhteystietolomakkeita hyödyntäen on mahdollista suorittaa nk. email-injektio-hyökkäyksiä, jolloin spam/roskapostia voidaan lähettää palautesivun käyttämän SMTP-sähköpostipalvelimen kautta. Tai mikäli lomakkeen tiedot tallennetaan tietokantaan, täytyy ottaa huomioon mm. tallennettavan tiedon koko/pituus, tietotyypit sekä tietenkin taas kerran tietoturva (nk. SQL-injektio tyyppiset hyökkäykset).
- Kuinka paljon tietoa kerätään lomakkeen avulla - jos kerättävää tietoa on alle 255 merkkiä, tällöin lomakkeen lähettämiseen voi käyttää GET- tai POST-menetelmää, jos kerättävää tietoa on enemmän on POST-menetelmä ainoa vaihtoehto.
Luomme tässä esimerkissä yksinkertaisen palautelomakkeen, jonka tiedot välitetään sähköpostitse eteenpäin. Kerättävät tiedot ovat:
- nimi - lähettäjän nimi , maksimipituus 255 merkkiä. Optionaalinen
- sähköposti - lähettäjän sähköpostiosoite, maksimipituus 255 merkkiä. Pakollinen
- viesti - vapaamuotoinen viesti, ei pituusrajoitusta. HTML ym. erikoismerkit kielletty. Optionaalinen
- toivottu yhteydenottotapa - valinta (radio)-painike. Optionaalinen
Koska kerättävää tietoa on enemmän kuin 255 merkkiä, käytetään lomakkeen lähetyksessä POST-menetelmää. Lomakkeenkäsittelijäksi (sivu, joka käsittelee käyttäjän lähettämät tiedot) määritämme tiedoston kiitos.asp.
Lomakkeen käyttöliittymä (HTML/XHTML)
Vaihe 1. Luo tiedosto lomake.asp. Rakenna haluamasi HTML/XHTML-rakenne tiedostoon, ja kopioi/liitä body-elementin sisälle seuraava koodi: :
...
<form id="form1" name="form1" method="post" action="lomake.asp">
<p><label for="textfield">Nimi</label>
<input name="l_nimi" type="text" id="l_nimi" size="50" maxlength="255" />
</p>
<p>
<label for="label">Sähköposti</label>
<input name="l_email" type="text" id="label" size="50" maxlength="255" />
</p>
<p>
<label for="textarea">Viesti</label>
<textarea name="l_viesti" cols="50" rows="10" id="l_viesti"></textarea>
</p>
<p>Halulan, että minuun otetaan yhteyttä: </p>
<p>
<input name="l_yhteys" type="radio" value="email" id="radiobutton" />
<label for="radiobutton">Sähköpostitse </label>
<input name="l_yhteys" type="radio" value="muu" id="radio" />
<label for="radio">Muuten (miten, erittele viestissä)</label>
</p>
<p>
<input type="submit" name="Submit" value="Lähetä" />
</p>
</form>
...
Seuraavaksi luomme nk. lomakkeenkäsittelijän.
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!