【PHP・HTML】BMI計算システムを作る方法

今回はPHPとHTMLでBMI計算できる簡単なシステムを作ってみました。

PHPとHTMLでBMI計算を作成する流れ

では早速始めていきましょう!

準備するファイル

まずは2ファイル準備しましょう。

・bmi.php
・bmi-result.php

上記の2ファイルを準備しましょう。

入力画面の作成

<form action="結果を出力したいURL" method="POST">

<p>身長:cm<br>
<input type="number" name="変数"></p><br>
<p>体重:kg<br>
<input type="number" name="変数1"></p><br>
<input type="submit" value="計測する" />
</form>

このphpファイルを身長と体重を入力してもらいます。

<form action=”結果を出力したいURL” method=”POST”>

入力して渡したい物は必ず<form></form>の中に入れてください
action=”こちらには結果を渡したいURLを記述します。
・bmi-result.php
・https://fich-labo.com/bmi-result
などです。
この箇所は実装する環境によって異なります。

method=”POST”は入力した値を渡す役割があります。
他にもGETというやり方がありますが、GETの場合URLに表示されてしまうので基本的には表示されないPOSTを利用します

<input type=”number” name=”変数”>

こちらはテキストボックス です。
type=”number” で数値を入力させます。
name=”変数”で入力した内容を変数の中に入れます。
なので変数には「height」や「weight」などを入れておくと分かりやすくなります。
変数は決まりの文字などがありません。極論「skdjfas」など意味のわからない単語でも利用することができます。

<input type=”submit” value=”計測する” />

最後にsubmitで入力結果を飛ばしてあげましょう。

結果出力の画面

<?php
	$tempHeight = $_POST["変数"];
	$weight = $_POST["変数1"];
?>

<?php
	$height = $tempHeight / 100;
	$bmiTemp = $weight / ($height*$height);
	$bmi = round($bmiTemp, 1);
	
	if($bmi < 18.5){
		echo 'あなたのBMIは<b>'.$bmi.'</b>で、痩せ気味です。';
	}elseif($bmi >= 18.5 && $bmi < 25){
		echo 'あなたのBMIは<b>'.$bmi.'</b>で、普通体重です。';
	}elseif($bmi >= 25 && $bmi < 30){
		echo 'あなたのBMIは<b>'.$bmi.'</b>で、肥満(1 度)です。';
	}elseif($bmi >= 30 && $bmi < 35){
		echo 'あなたのBMIは<b>'.$bmi.'</b>で、肥満(2 度)です。';
	}elseif($bmi >= 35 && $bmi < 40){
		echo 'あなたのBMIは<b>'.$bmi.'</b>で、肥満(3 度)です。';
	}else{
		echo 'あなたのBMIは<b>'.$bmi.'</b>で、肥満(4 度)です。';
	}
?>

こちらはBMI結果を出力するファイルです。

<?php $tempHeight = $_POST[“変数”];  ?>

POSTで渡したので、POSTで受け取りましょう。

もし<input type=”number” name=”height”>の場合は、<?php $tempHeight = $_POST[“height”];  ?>で受け取ることができます。

ちなみに$マークの後に続く文字も変数なので、好きな文字を利用できます。

$height = $tempHeight / 100;
$bmiTemp = $weight / ($height*$height);
$bmi = round($bmiTemp, 1);

こちらはbmiを計算しています。

まず身長はメートル単位で入力しなければいけないので、割ります。
次にBMIを求めるBMI = 体重kg ÷ (身長m)2をします。
最後にroundを利用して四捨五入します。

そうすると最終的にecho $bmiで出力することができます。

if文で表示内容を変える

ifを利用することで結果によって表示内容を変更することができます。

if($bmi < 18.5){
echo ‘あなたのBMIは<b>’.$bmi.'</b>で、痩せ気味です。’;

の場合は$bmiが18.5以下の場合に条件が当てはまります。

}elseif($bmi >= 18.5 && $bmi < 25){
echo ‘あなたのBMIは<b>’.$bmi.'</b>で、普通体重です。’;

の場合はの場合は$bmiが18.5から25以下の場合に当てはまります。

©Copyright2022 FICH-LABO.All Rights Reserved.