Luento 8 - WWW-lomakkeet
Luentoesimerkit
Mihin niitä tarvitaan?
Hyödyt
- Tiedot saadaan talteen sähköisessä muodossa.
- Jatkokäsittely on vaivattomampaa
- Ei tarvitse käsitellä "paperisaastetta".
- Varmempi tapa palautteen keräämiseen kuin mailto-linkki.
- Ajasta riippumattomuus.
Haitat
- Tietojen mahdollinen häviäminen.
- Helppo jättää täyttämättä.
Lomakkeen toiminta
- Selainohjelma pyytää palvelimelta lomakesivun.
- Käyttäjä täyttää ja hyväksyy lomakkeen.
- Selain lähettää lomakkeen CGI-ohjelmalle.
- Erikoismerkit koodataan.
- Välilyönnit korvataan +merkeillä.
- Tietojen välittäminen riippuu käytettävästä metodista.
- CGI-ohjelma ottaa lomakkeen tiedot vastaan tekijän haluamalla tavalla.
- Erikoismerkit ja välilyönnit palautetaan takaisin.
- Voidaan tehdä tarpeelliset tarkistukset syötteelle.
- Jaetaan data halutulla tavalla.
- Tiedot lähetetään edelleen sähköpostitse.
- Tallennetaan tekstitietokannaksi.
- Tallennetaan suoraan WWW-sivuksi.
- CGI-ohjelma palauttaa käyttäjälle tietoja.
- Kiitoksen esimerkiksi tilauksesta.
- Varmistuksen onnistumisesta.
- Tilauksen tai palautteen sisällön.
- Lomakkeen tietojen jatkokäsittely.
- Erilaisia ohjelmistoja käyttötarkoituksen mukaan.
- Hyvin varma tapa saada tieto talteen.
Lomakkeen tekeminen
Seuraavassa kuvassa on nähtävillä yleisimmät lomakkeella käytettävät elementit
sekä input-elementit erilaiset tyypit.
form
Metodit
get
- Lähettää lomakkeen sisällön URL:n mukana ympäristömuuttujaan.
- Lomakkeen tiedot näkyvät osoitteen perässä selainikkunassa.
- Ei kannata käyttää suuremman tiedon siirtämiseen. (Koko rajoitus)
post
- Lähettää lomakkeen sisällön siten, että se pitää lukea STDIN:stä.
- Kaikki isompi siirtäminen tehdään näin!
input
select - valintalista
textarea
label
Lomakkeen lähettäminen vastaanottajalle
Mailto
- <form action="mailto:peheinon@mit.jyu.fi" method="post">
- Ongelmat
- Vaatii käyttäjältä selaimen konfigurointia!
- Application/X-WWW-FORM-URLENCODED
- Tilattu+auto=Mik%E4+rotisko%3F
Enctype
- <form action="mailto:peheinon@mit.jyu.fi" enctype="text/plain"
method="post">
- Ongelmat
- Vaatii käyttäjältä selaimen konfigurointia!
- Suoraan nähtävissä sähköpostitse
- Tilattu auto=Mikä rotisko?
CGI-ohjelma
CGI-ohjelmien mukana tulevat tietoturvaongelmat
Käyttäjä voi tehdä oman lomakkeen, jolla kutsuu tekemääsi skriptiä!
Syventävää luentomateriaalia
Seuraavaan listaan on koottu lisämateriaalia luennon asioista: