PHP Painoindeksilaskuri

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

http://www.php.net/

http://www.ohjelmointiputka.net

Mainokset

Kolmen linux-ohjelman asennus

Raportti linux ohjelmien asentamisesta.

Asensin 3 erilaista ohjelmaa, joilla halusin testata sitä, kuinka linux toimii. Asennetut ohjelmat olivat: Nethack-console, sekä 2 itse etsittyä ohjelmaa, joihin käytin komentoa ”apt-cache search”. Kommenon perään laitoin vuorotellen hakusanat paint ja text editor. Näillä hauilla löysin pinta nimisen piirrustusohjelman, sekä ne nimisen tekstieditorin.

Testissä käytetty kone

Prosessori: 2.4 GHz AMD Athlon II Dual-Core Processor N350

Keskusmuisti: 4 GB DDR3 (2 x 2048 MB)

Näytönohjain: ATI Mobility Radeon HD 5650 Graphics (switchable)

Kovaley: 640 GB SATA Hard Disk Drive 5400 rpm

Verkkokortti: Integrated 10/100/1000 Gigabit Ethernet LAN

Käyttöjärjestelmä: Windows 7 Home Premium / Service pack 1

Raportissa käytetty linux distro: Englanninkielinen Xubuntu ( xubuntu-12.04-desktop-i386 )

Raportti tehtiin 3.9.2012 klo 21-22 välisenä aikana

Pinta

21.04 Ensimmäiseksi haku tapahtui komennolla apt-cache search paint

21.06 Tämän jälkeen käytin komentoa sudo apt-get install pinta

21.08 Tämä jälkeen kirjoitin konsoliin ”pinta” jolloin ohjelma käynnistyi

Nethack-console

21.11 Aloitin aluksi etsimällä tiedostoa komennolla apt-cache search nethack

21.14 Tämän jälkeen päätin valita Nethack-console pelin ja latasin, sekä asensin sen komennolla sudo apt-get install nethack-console

21. 16 Peli käynnistyi odotetusti kirjoittamalla konsoliin nethack-console

Ne – tekstieditori

21.20 Halusin löytää uuden tekstinkäsittelyohjelman ja kirjoitin hauun apt-cache search text editor

21.25 Lukuisten tuloksien jälkeen päätin valita Ne nimisen ohjelman jonka latasin ja asensin komennolla sudo apt-get install ne

21. 37 Tämän jälkeen minulla oli käytössä tekstieditori. Testasin uuden tekstitiedoston luomista komennolla ”ne Foo” ja se toimi. Ohjelma oli melko samanlainen kuin nano.

Lopuksi vielä linuxin päivitys

Lopuksi päivitin vielä linuxin ja sen mukana olevat ohjelmat komennolla sudo apt-get update

Viittaukset

Karvinen, Tero: Oppitunnit 3.9.2012

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html