Viikkotehtävä 3
Toteuta pienimuotoinen harjoituspäiväkirja. 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 sisältävän rivin loppuun ilmestyy selvä virheilmoitus mallikuvien tyyliin.
- Virhetapauksessa aiemmin 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ä.
- Sivun ulkoasumuotoilut on tehtävä CSS:ää käyttäen. CSS:n on oltava myös validia CSS2:sta.
- Sivun ulkoasu tulee olla layoutin ja värien osalta suunnilleen mallikuvien mukainen.
Taso 1
- Toteuta mallin mukainen lomake.
- Toteuta virheentarkistukset (mallikuva):
- Harjoituksen kesto syötetään minuutteina ja se on oltava positiivinen kokonaisluku, mutta kuitenkin maksimissaan 360 min.
- Tekstiä ei saa hyväksyä kestoksi.
- Tyhjä kesto tai 0 tarkoittaa, että kyseisenä päivänä kyseistä harjoitusta ei ollut tehty.
- Toteuta tulosten näyttäminen
mallin mukaan, jossa on:
- Kunkin lajin kokonaisharjoitusmäärät viikon ajalta. Tulos ilmoitetaan tunteina ja minuutteina.
- Viikon kokonaisharjoitusmäärä. Tulos ilmoitetaan tunteina ja minuutteina.
- Keskimääräinen harjoitusaika yhdelle päivälle. Keskiarvo lasketaan aina huomioiden kaikkien päivien harjoitusmäärät, eli keskiarvoon vaikuttavat myös ne päivät, jolloin ei ole harjoiteltu ollenkaan. Tulos ilmoitetaan tunteina ja minuutteina ja pyöristetään lähimpään tasaminuuttiin.
Taso 3
- Toteuta mallin mukainen lomake.
- Toteuta taso 1:n mukaiset virheentarkistukset.
- 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 päivien tai lajien määrä muuttuisi. Esimerkiksi jos päiviä olisi 7 ja lajeja 5, niin tekstilaatikoita olisi tultava 35 kpl.
- Toteuta tulosten näyttäminen
mallin mukaan, jossa on:
- Lomakkeella olevan ajanjakson kokonaisharjoitusmäärä. Tulos ilmoitetaan tunteina ja minuutteina.
- Lomakkeella olevan ajanjakson pituus päivinä (eli käytännössä kuinka monta täytettävää riviä lomakkeella).
- Keskimääräinen harjoitusaika yhdelle päivälle. Keskiarvo lasketaan aina huomioiden kaikkien lomakkeella olevien päivien harjoitusmäärät, eli keskiarvoon vaikuttavat myös ne päivät, jolloin ei ole harjoiteltu ollenkaan. Tulos ilmoitetaan tunteina ja minuutteina ja pyöristetään lähimpään tasaminuuttiin.
- Kunkin lajin kokonaisharjoitusmäärät. Tulos ilmoitetaan tunteina ja minuutteina.
- Kunkin päivän kokonaisharjoitusmäärät. Tulos ilmoitetaan tunteina ja minuutteina.
Taso 5
- Toteuta mallin mukainen lomake.
- Toteuta taso 1:n mukaiset virheentarkistukset.
- Tarkista lisäksi kultakin henkilöltä, ettei yhden päivän harjoitusten kokonaiskesto ole yli 600 min. Katso virheen ilmoittamistapa mallikuvasta.
- Tarkista lisäksi kultakin henkilöltä, ettei tarkasteltavan ajanjakson harjoitusten kokonaiskesto ole yli päivien määrä * 480 min (eli esim. 5 päivän tapauksessa raja-arvo olisi 2400 min, eli 40 h). Katso virheen ilmoittamistapa mallikuvasta.
- Sisällytä koodiisi (include, require) asetus5.conf tiedoston muuttujat. Muuttujien perusteella on luotava lomakeryhmät (henkilöt), täytettävät tekstilaatikot ja niiden otsikot. Sovelluksen on toimittava, vaikka henkilöiden, päivien tai lajien määrä muuttuisi. Esimerkiksi jos henkilöitä olisi 2, päiviä 7 ja lajeja 5, niin tekstilaatikoita olisi tultava 70 kpl.
- Toteuta tulosten näyttäminen
mallin mukaan, jossa on:
- Lomakkeella olevan ajanjakson kokonaisharjoitusmäärä henkilöittäin. Tulokset ilmoitetaan tunteina ja minuutteina.
- Lomakkeella olevan ajanjakson pituus päivinä (eli käytännössä kuinka monta täytettävää riviä lomakkeella per henkilö).
- Keskimääräinen harjoitusaika yhdelle päivälle henkilöittäin. Keskiarvo lasketaan aina huomioiden kaikkien lomakkeella olevien päivien harjoitusmäärät, eli keskiarvoon vaikuttavat myös ne päivät, jolloin ei ole harjoiteltu ollenkaan. Tulokset ilmoitetaan tunteina ja minuutteina ja pyöristetään lähimpään tasaminuuttiin.
- Kunkin lajin kaikkien henkilöiden yhteenlasketut kokonaisharjoitusmäärät. Tulokset ilmoitetaan tunteina ja minuutteina.
- Kunkin päivän kokonaisharjoitusmäärät henkilöittäin. Tulokset ilmoitetaan tunteina ja minuutteina.

Käyttäjien kommentit