|
あなたの身長 あなたの体重 |
cm kg |
|
SetTall($_POST[‘height’]);
$obj_BMI->SetWeight($_POST[‘weight_m’]);
if($obj_BMI->IsError() === FALSE){ //ERRORなし
$BMI = $obj_BMI->GetBMI();
$ZEI = 0;
// BMIの数値の判定
if($BMI < 18.5){
$MSG1 ="低体重";
$ZEI = 0;
$COLOR ="#FFFF00";
$BMI_MSG ="もっと食べてね。";
}
elseif($BMI < 15){
$MSG1 ="普通体重";
$ZEI = 0;
$COLOR ="#00FF7F";
$BMI_MSG ="やったね。";
}
elseif($BMI < 25){
$MSG1 ="普通体重";
$ZEI = 1000 + $BMI * 55;
$ZEI = round($ZEI,-2);
$COLOR ="#00FF7F";
$BMI_MSG ="普通体重なんだけどもう少しがんばれ!";
}
elseif($BMI < 30){
$MSG1 ="肥満1度";
$ZEI = 2000 + $BMI * 60;
$ZEI = round($ZEI,-2);
$COLOR ="#FFE4E1";
$BMI_MSG ="もう少しです。がんばれ!";
}
elseif($BMI < 35){
$MSG1 ="肥満2度";
$ZEI = 3000 + $BMI * 65;
$ZEI = round($ZEI,-2);
$COLOR ="#FA8072";
$BMI_MSG ="簡単な運動からスタート。。";
}
elseif($BMI < 40){
$MSG1 ="肥満3度";
$ZEI = 4000 + $BMI * 70;
$ZEI = round($ZEI,-2);
$COLOR ="#FF4500";
$BMI_MSG ="食事を見直しましょうね。";
}
else{
$MSG1 ="肥満4度";
$ZEI = 5000 + $BMI * 75;
$ZEI = round($ZEI,-2);
$COLOR ="#FF0000";
$BMI_MSG ="病院にいきましょうね。";
}
$BMI = round($BMI,1);
//標準体重計算
$best_weight = round($weight_m / $BMI * 22,1);
$ATO = $best_weight - $weight_m;
if($best_weight < $weight_m){
$SIN = "マイナス ";
}elseif($best_weight > $weight_m){
$SIN = “プラス “;
}else{
$SIN = “”;
}
echo “
身長{$_POST[‘height’]}センチメートル、体重{$_POST[‘weight_m’]}キログラム |
“;
echo “
あなたの肥満度(BMI)は{$BMI}です。【{$MSG1}】 理想体重は{$best_weight} kgです。 |
“;
echo “
今月定期預金にいれるメタボ税は |
{$ZEI} 円 |
“;
echo “
メタボ税の還付まであと {$SIN} {$ATO} kgです。 |
“;
echo “
{$BMI_MSG} |
“;
}else{
$array_error = $obj_BMI->IsError();
foreach($array_error as $item){
echo “
{$item}
“;
}
echo ‘
戻って再入力
‘;
}
}
class CheckBMI{
var $tall;
var $weight_m;
var $BMI;
var $array_error; // 各種エラーを格納する配列
function CheckBMI(){ //コンストラクタ(プロパティの初期化)
$this->tall = 1;
$this->weight = 1;
$this->BMI = 1;
$this->array_error = array();
}
function SetTall($tall){
if(is_numeric($tall)){
if($tall > 0 && $tall < 250){ // 0m ? 3m なら人間でしょう。
$this->tall = $tall; // 引数$tallをプロパティ(メンバ変数)にセット
}else{
$this->array_error[] = “入力値に誤りがあります。(身長)”; // エラー配列に格納
}
}else{
$this->array_error[] = “入力値に誤りがあります。(身長)”;
}
$tall = $tall / 100;
}
function SetWeight($weight_m){
if(is_numeric($weight_m)){
if($weight_m > 5 && $weight_m < 300){ // 5kg ? 300kg なら人間でしょう。
$this->weight = $weight_m; // 引数$tallをプロパティ(メンバ変数)にセット
}else{
$this->array_error[] = “入力値に誤りがあります。(体重)”;
}
}else{
$this->array_error[] = “入力値に誤りがあります。(体重)”;
}
}
function CalculateBMI(){
$this->BMI = $this->weight / ($this->tall * $this->tall * 0.0001);
}
function GetBMI(){
$this->CalculateBMI();
$BMI = round($this->BMI, 3);
return $BMI;
}
// エラーがあるならTRUEを返すメソッド
function IsError(){
if(count($this->array_error) > 0){ //何かしらのエラーがセットされている
return $this->array_error;
}else{
return FALSE;
}
}
}
?>