Viikkotehtävä 3
Toteuta lomake, joka kysyy allaolevia tietoja ja tulostaa selaimeen niistä johdettuja tietoja. Yhteiset vaatimukset:
- Käytetään PHP-kieltä.
- Kommentoikaa koodin oleellisimpia osia!
- Käsittelijän on tarkistettava syötettyjen tietojen oikeellisuus.
- Virheellinen tai puutteellinen tieto palauttaa takaisin syöttölomakkeelle. Kyseisen lomake-elementin viereen tulee selvä virheilmoitus.
- Virhetapauksessa syötetyt tiedot näkyvät lomakekentissä, ettei käyttäjän tarvitse uudestaan täyttää tietoja.
- Tulostettuihin tietoihin ei saa päästä käyttäjän syöttämää HTML-koodia.
- Kaikkien sivujen on oltava validia XHTML 1.0 Strictiä.
- Sivulla on käytettävä yhtä ulkoista CSS-tiedostoa, eikä tyylimäärityksiä saa suoraan upottaa XHTML:n sekaan.
Taso 1
- Toteuta mallin mukainen lomake.
- Toteuta virheentarkistukset
- Bongausmäärän on oltava nolla tai sitä suurempi, mutta kuitenkin alle tuhannen.
- Tekstiä ei saa hyväksyä bongausmääräksi.
- Tyhjän tekstilaatikon voi hyväksyä tai olla hyväksymättä.
- Jos tyhjää arvoa ei hyväksytä, on tulostettava virheilmoitus lomake-elementin viereen.
- Tyhjästä arvosta ei tarvitse antaa virheilmoitusta, jos sitä ei ole valittu laskettavien kuukausien joukkoon.
- Jos tyhjä arvo hyväksytään, niin bongauksen määrä lasketaan nollaksi ja se vaikuttaa myös keskiarvoon.
- Toteuta tulosten näyttäminen mallin mukaan, jossa on
- Keskimääräinen lintubongausmäärä per kuukausi valituilta kuukausilta
- Paras bongauskuukausi valituista kuukausista
- Valittujen kuukausien määrä (valintalaatikoiden perusteella)
Bonus - taso 2
- +1 p. jos keskiarvon laskemisessa ei käytetä ehtorakenteita
Taso 3
- Toteuta mallin mukainen lomake.
- Sisällytä koodiisi (include, require) asetus3.conf tiedoston muuttujat. Muuttujien perusteella on luotava täytettävät tekstilaatikot ja niiden otsikot. Sovelluksen on toimittava, vaikka kuukausien ja henkilöiden määrä muuttuisi. Esimerkiksi jos kuukausia olisi 3 ja tarkkailtavia lintuja 5, niin tekstilaatikoita olisi tultava 15 kpl.
- Toteuta mallin mukaiset tarkistukset
- Tekstiä ei saa hyväksyä bongausmääräksi
- Bongausmäärän on oltava yli nollan ja alle tuhannen.
- Tyhjän tekstilaatikon voi hyväksyä tai olla hyväksymättä. Toiminta kuten tasolla 1.
- Hyväksytyistä tiedoista tulostetaan taulukossa keskimääräiset bongausmäärät ja paras bongauskuukausi linnuittain.
Taso 5
Toteuta lomake, jolla voidaan laskea useamman henkilön lintubongauksista keskiarvot. Käyttäjä saa päättää, minkä suhteen keskiarvo lasketaan.
- Toteuta mallin mukainen lomake.
- Sisällytä koodiisi (include, require) asetus5.conf tiedoston muuttujat. Taulukoiden perusteella on luotava lomake-ryhmät (henkilöt), täytettävät tekstilaatikot ja niiden otsikot. Sovelluksen on toimittava, vaikka lintujen, kuukausien tai henkilöiden määrä muuttuisi. Esimerkiksi jos kuukausia olisi 3, henkilöitä 4 ja tarkkailtavia lintuja 5, niin tekstilaatikoita olisi tultava 60 kpl.
- Toteuta mallin mukaiset tarkistukset
- Raportin sarakeotsikoiden on oltava erilaiset.
- Bongausmäärien virhetarkistukset kuten tasolla 3.
- Hyväksytyistä tiedoista tulostetaan taulukossa
keskimääräiset bongausmäärät käyttäjän lomakkeella antamilla
ehdoilla. Esim.
- Sarake-otsikkoina linnut ja rivi-otsikkoina henkilöt.
- Esim. vasen yläkulma on kaikkien tarkasteltavien kuukausien keskiarvo Matin bongaamista västäräkeistä (ts. kuinka monta västäräkkiä Matti bongaa keskimäärin kuukaudessa).
- Sarake-otsikkoina kuukaudet ja rivi-otsikkoina linnut.
- Esim. vasen yläkulma on keskiarvo Matin, Javierin, Gerhardin ja Xiaon bongaamista västäräkeistä maaliskuussa (ts. kuinka monta västäräkkiä henkilö bongaa keskimäärin kuukaudessa).
- Sarake-otsikkoina linnut ja rivi-otsikkoina henkilöt.


Käyttäjien kommentit