17. BMI – příklad k formulářům v PHP

Tento příklad je pomůcka pro zjištění správné váhy. Je zde využit tzv. Body Mass Index (BMI), který se vypočítá takto: BMI = váha / (výška x výška) POZN.: váha musí být v kg a výška v metrech! Tabulka figury člověka podle BMI:

Podvyživený BMI je menší než 15
Podváha BMI je menší než 18,5
Ideální BMI je od 18,5 do 25
Nadváha BMI je od 25 do 30
Obezita BMI je od 30 do 40
Nadměrně obézní BMI je větší než 40

První stránka pro zadání hodnot vypadá takto:

<!DOCTYPE html>
<html lang="cs">
<head>
    <meta charset="utf-8">
    <title>Zadejte Vaše parametry</title>
</head>
<body>
  <form action="vysledek.php" method="post">
  Zadej váhu: <input type="text" name="vaha"> kg<br />
  Zadej výšku: <input type="text" name="vyska"> cm<br />
  <input type="submit" value="Spočítej figuru">
  </form>
</body>
</html>

Hodnota výšky se zadává běžně v cm, což je následně ve vyhodnocovacím skriptu potřeba převést na metry. Druhá stránka, která má spočítat BMI:

<!DOCTYPE html>
<html lang="cs">
<head>
    <meta charset="utf-8">
    <title>Informace o figuře</title>
</head>
<body>
 <?php
  $vaha = $_POST['vaha'];
  $vyska = $_POST['vyska'];
  $vyska_v_metrech = $vyska / 100.0;
  //tato proměnná se vytváří jen proto, aby se převedla výška na metry
  $BMI = $vaha / ($vyska_v_metrech * $vyska_v_metrech);
  echo 'Vaše BMI = ', $BMI;
  echo '<br /><br />';
if ($BMI < 15)
  echo 'Jste podvyživený/á';
else if ($BMI < 18.5)
  echo 'Máte podváhu';
else if ($BMI < 25)
  echo 'Máte ideální postavu';
else if ($BMI < 30)
  echo 'Máte nadváhu';
else if ($BMI < 40)
  echo 'Jste obézní';
else
  echo 'Jste nadměrně obézní';
?>
</body>
</html>