実現したいこと
PHP初心者です。
PHPでねこと人間を比較するwebサービスを作っています。
入力した内容が画面遷移すると計算されるようなシステムを作っていますが画面遷移すると計算が反映されずうまくいきませんでした。
こんなやり方があるというものがあれば、教えていただきたいです。
よろしくお願いいたします。
また、result.phpの部分に男女毎でのbmiを計算するようなコードを作りたいと考えています。
こちらも参考コードがあれば教えていただきたいです。
- 発生している問題
formの内容がresult.phpで反映されいな
男女毎のbmi計算方法
php
1<?php 2session_start(); 3 4if (!empty($_POST)) { 5if ($_POST['height'] === '') { 6 $error['height'] = 'blank'; 7} 8 9if ($_POST['weight'] === '') { 10 $error['weight'] = 'blank'; 11} 12 13if ($_POST['age'] === '') { 14 $error['age'] = 'blank'; 15} 16 17if (empty($_POST['gender'])) { 18 $err_msg['gender'] = '※性別を入力してください'; 19} 20 21 22 23if (empty($error)) { 24 $_SESSION['orgwebservice'] = $_POST; 25 header('Location: result.php'); 26 exit(); 27} 28} 29?> 30 31. 32. 33. 34<form action="" method="post"> 35 <div class="row"> 36 <div class="col-12 col-sm-6"> 37 <div class="form-select"> 38 <label class="text">身長</label> 39 <input type="height" name="height" id="" value= 40 "<?php print(htmlspecialchars($_POST['height'], ENT_QUOTES)); ?>"> 41 <?php if ($error['height'] === 'blank'): ?> 42 <p class="error">※身長を入力してください</p> 43 <?php endif; ?> 44 </div> 45 </div> 46 47 <div class="col-12 col-sm-6"> 48 <div class="form-select"> 49 <label class="text">体重</label> 50 <input type="weight" name="weight" id="" value= 51 "<?php print(htmlspecialchars($_POST['weight'], ENT_QUOTES)); ?>"> 52 <?php if ($error['weight'] === 'blank'): ?> 53 <p class="error">※体重を入力してください</p> 54 <?php endif; ?> 55 </div> 56 </div> 57 </div> 58 59 <div class="age-sex"> 60 <div class="row"> 61 <div class="col-12 col-sm-6"> 62 <div class="form-select"> 63 <label class="text">年齢</label> 64 <input type="age" name="age" id="" value= 65 "<?php print(htmlspecialchars($_POST['age'], ENT_QUOTES)); ?>"> 66 <?php if ($error['age'] === 'blank'): ?> 67 <p class="error">※年齢を入力してください</p> 68 <?php endif; ?> 69 </div> 70 </div> 71 <div class="col-12 col-sm-6"> 72 <div class="gender"> 73 <label class="textl">性別</label> 74 <input type="radio" name="gender" value="male"> 75 <label>男性</label> 76 <input type="radio" name="gender" value="female"> 77 <label>女性</label> 78 <br> 79 <span><?php if(!empty($err_msg['gender'])) 80 echo $err_msg['gender']; ?></span> 81 </div> 82 </div> 83 </div> 84 </div> 85 86 <!-- 受診する --> 87 <div class="row"> 88 <div class="col-12 mt-4"> 89 <div class="btn"> 90 <input class="submits" type="submit" value="受診する"> 91 </div> 92 </div> 93 </div> 94 </form> 95 </div> 96 </div> 97 </div> 98 </div> 99
PHP
1<?php 2session_start(); 3 4if(!isset($_SESSION['orgwebservice'])) { 5 $weight = $_POST['weight']; 6 $height = $_POST['height']; 7 $age = $_POST['age']; 8 $male = $_POST['male']; 9 $female = $_POST['female']; 10 $gender = $_POST['gender']; 11 12 13 $height = $height / 100; 14 15 $bmi = $weight / ($height * $height); 16 $bmi = round($bmi, 1); 17 $catw = $weight / 15; 18 $cata = $age - 16; 19 20 21 header('Location: index.php'); 22 exit(); 23 } 24 25?> 26 27. 28. 29. 30<!-- //結果欄// --> 31 <div class="section-2"> 32 <div class="row"> 33 <div class="col-12 col-md-6 my-auto"> 34 <h3>ねこ年齢</h3> 35 <p class="result-age"> 36 <?php print(htmlspecialchars(floor($cata / 4))); ?>歳 37 </p> 38 </div> 39 <div class="col-12 col-md-6 my-auto"> 40 <h3>ねこ体重</h3> 41 <p class="result-w"> 42 <?php print(htmlspecialchars(round($weight / 15, 1))); ?>kg 43 </p> 44 </div> 45 </div> 46 </div> 47 . 48 . 49<p>なんとねこはあなたと比較すると 50 <br> 51 年齢は<span><?php print(htmlspecialchars($age - floor($cata / 4))); ?>歳</span>、 52 体重は<span><?php print(htmlspecialchars($weight - round($weight / 15, 1))); ?>kg</span> 53 もの差があるんです 54 </p> 55 </div> 56 57
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。