Seuraavassa on esiteltynä php:llä koulutyönä tehty painoindeksilaskuri. Voit ladata toimivat kooditiedostot artikkelin lopusta. Tässä raportissa käyn läpi koodin sisältöä ja selitän sen ominaisuuksia ja sitä, mitä jokainen kohta tekee
Esimmäiseksi teemme tiedoston kysymys.html jossa keräämme tiedot käyttäjän painosta ja pituudesta.
<form action="tulos.php" method="post"> <p>Pituus:(<b>HUOM syötä pituus muodossa x.xx käyttäen pistettä</b>)</p><input type="text"value="1.70" name="pituus" /> <p>Paino:(Anna arvo kiloina esimerkiksi 70)</p><input type="text" value="70" name="paino" /> <p><input value="Lähetä tiedot" type="submit" /></p> </form>
Tämä kohtaa kerää käyttäjiltä tiedot ”paino” & ”pituus” ja siirtää ne tulos.php tiedostoon
Seuraavaksi tarvitsemme tulos.php tiedoston.
Tässä kohdassa keräättä käyttäjien tiedot paino & pituus ja luomme tämän jälkeen näistä samannimiset muuttujat
<?php //Otetaan lomakkeesta lähetetyt tiedot paino ja pituus $paino=$_POST[paino]; $pituus=$_POST[pituus];
Tarkistetaan, että käyttäjän syöttämät tiedot ovat varmasti numeroita ennen jatkoa. Muuten toiminto keskeytetään ja annetaan käyttäjälle virheilmoitus
if (is_numeric($paino) && is_numeric($pituus)) {
Seuraavaksi lasketaan käyttäjien antamat tiedot ja kohdassa round($tulos, 2); pyöristetään tulos 2 desimaalin tarkkuuteen. Painoindeksi lasketaan kaavalla pituus/(paino^2)
$lasku = (pow($pituus,2)); $tulos=$paino/$lasku; $tulos=round($tulos, 2);
Tässä kohdassa vertaillaan käyttäjän painoindeksiä ja tarkistetaan mihin kohtaan se sopii. Tämän jälkeen tulostetaan käyttäjälle tiedot hänen painoindeksistä ja annetaan vinkki.
if($tulos < 14.99) echo "Painoindeksi on ".$tulos."<p>Vinkki: Joten Nyt syömään äkkiä sillä olet sairaalloise alipainoinen</p>"; elseif($tulos < 16.99) echo "<p>Merkittävä alipaino.</p> Painoindeksi: ".$tulos."<p>Vinkki: Olisiko hampurilaisen paikka ?</p> "; elseif($tulos < 18.4) echo "<p>Normaalia alhaisempi paino.</p> Painoindeksi: ".$tulos."<p>Vinkki: Muista syödä päivisin enemmän</p>"; elseif($tulos < 24.9) echo "<p>Normaali paino.</p>Painoindeksi: ".$tulos."<p>Vinkki: Hyvä, sinulla näyttäisi olevan normaali paino!</p>"; elseif($tulos < 29.9) echo "<p>Lievä ylipaino</p>Painoindeksi: ".$tulos."<p>Vinkki: Kannattaisiko kenties jättää illalla muutama leipä syömättä ?</p>"; elseif($tulos < 34.9) echo "<p>Merkittävä ylipaino</p> Painoindeksi: ".$tulos."<p>Vinkki: Et taida olla rantakunnossa ? </p>"; elseif ($tulos < 39.9) echo "<p>Vaikea ylipaino</p>".$tulos."<p>Vinkki: Nyt olisi aika laittaa ruokatottumukset uusiksi. Ylipainoisuus on vakava asia!</p>"; elseif ($tulos > 39.91) echo "<p>Sairaalloinen ylipaino</p> Painoindeksi: ".$tulos."<p>Vinkki: Suosittelen lääkäriin menoa - Tuloksesi on erittäin vakava</p>"; }
Jos käyttäjä oli alussa syöttänyt vääriä tietoja, kerrotaan ohjeet miten paino ja pituus tulisi syöttää
} else { echo "<p>Error - Yritä uudelleen. Muista syöttää pituus muodossa x.xx jossa x on numero ja käyttää välissä pistettä, <u>eikä pilkkua</u>.</p><p>Paino tulee syöttää numeroina xxx ilman muita merkkejä</p> <a href='kysymys.html'>Palaa takaisin</a>"; }
Lataa Tiedostot:
Lataa lähdekoodi Tästä
Lisenssi
Jos meinaat hyödyntää tätä ohjelmaa sellaisenaan, olisin kiitollinen linkistä takaisin tähän blogiin.
Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html
Lähteet tämän ohjelman luontiin:
Tero Karvinen / HAAGA-HEALIA oppitunnit / 2.9, 4.9.2012