私はBMI計算機を作成しようとしています。これにより、人々はメートル法または帝国測定のいずれかを使用できるようになります。PHPからフォームの 'name'変数にアクセスする方法
私は自分の問題を解決するために隠れたタグを使用することができることを認識していますが、これは私が尋ねる前に私に迷惑をかけることがあります:$_POST['variableName']
を使って、しかし...私はどのような形式がであるかを確認する方法を知らないか、または見て、変数を提出するを使用します。
私のコードは、(私はそれが問題に厳密に関連するだか分からないが)以下です:
<?php
$bmiSubmitted = $_POST['bmiSubmitted'];
if (isset($bmiSubmitted)) {
$height = $_POST['height'];
$weight = $_POST['weight'];
$bmi = floor($weight/($height*$height));
?>
<ul id="bmi">
<li>Weight (in kilograms) is: <span><?php echo "$weight"; ?></span></li>
<li>Height (in metres) is: <span><?php echo "$height"; ?></span></li>
<li>Body mass index (BMI) is: <span><?php echo "$bmi"; ?></span></li>
</ul>
<?php
}
else {
?>
<div id="formSelector">
<ul>
<li><a href="#metric">Metric</a></li>
<li><a href="#imperial">Imperial</a></li>
</ul>
<form name="met" id="metric" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="form/multipart">
<fieldset>
<label for="weight">Weight (<abbr title="Kilograms">kg</abbr>):</label>
<input type="text" name="weight" id="weight" />
<label for="height">Height (<abbr title="metres">m</abbr>):</label>
<input type="text" name="height" id="height" />
<input type="hidden" name="bmiSubmitted" id="bmiSubmitted" value="1" />
</fieldset>
<fieldset>
<input type="reset" id="reset" value="Clear" />
<input type="submit" id="submit" value="Submit" />
</fieldset>
</form>
<form name="imp" id="imperial" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="form/multipart">
<fieldset>
<label for="weight">Weight (<abbr title="Pounds">lbs</abbr>):</label>
<input type="text" name="weight" id="weight" />
<label for="height">Height (Inches):</label>
<input type="text" name="height" id="height"/
<input type="hidden" name="bmiSubmitted" id="bmiSubmitted" value="1" />
</fieldset>
<fieldset>
<input type="reset" id="reset" value="Clear" />
<input type="submit" id="submit" value="Submit" />
</fieldset>
</form>
<?php
}
?>
私はそれが働いていることを確認(検証なしで、現時点では-Iは、群衆の私にしたくなかったのに質問が多すぎる)私はフォームを追加しましたが、帝国のための処理はまだありません。
以下に記載されているように、フォームの名前は実際には重要ではありません。あるフォームまたは別のフォームとデータを区別する必要がある場合は、各フォームが異なるアクションを持つ方がよいでしょう。 – rojoca