ユーザーがHTMLフォームを送信するときのPHP要約ページを作成しようとしています。PHP:ユーザーがHTMLフォームから選択したオプションに応じた合計価格を計算します。
。
このフォームには、ホテルの部屋のさまざまなオプションが含まれています。 HTMLにはラジオボタン(シングルルームまたはダブルルーム)とチェックボックス(ゲストが金曜日/土曜日/日曜日の夕食を含むことを希望する場合)が含まれています。
これらのオプションは、それぞれ異なる価格に関連付けられています.1つの部屋は$ 80、二重は$ 60、各食事は$ 8です。
現在のところ、選択したオプションをPHPフォームに表示することに成功しました。
。
しかし、私はゲストが選択したオプションの機能として計算、その後表示合計金額に苦労しています。
これを行うには良い方法がありますか?配列を使用する必要があるかもしれないと私には言いますが、どうやって調べたのか分かりません。あなたはHTMLコードを見てみたいと思った場合には
:
<form action="ski-trip-summary.php" method="post">
<table id="mainTable">
<tr>
<td class="mainSection"><b>Housing and Meals:</b><br />
<table>
<tr>
<td><i>Room Choices</i><br />
<input name="room" type="radio" value="single" />
Single ($80)
<input name="room" type="radio" value="double" checked="checked" />
Double ($40) </td>
</tr>
<tr>
<td><i>Meals desired ($8 each):</i><br />
<table>
<tr><td>Friday Dinner</td>
<td><input name="fridayDinner" type="checkbox" /></td></tr>
<tr><td>Saturday Dinner</td>
<td><input name="saturdayDinner" type="checkbox" /></td></tr>
<tr><td>Sunday Dinner</td>
<td><input name="sundayDinner" type="checkbox" /></td></tr>
</table></td>
</tr>
</table>
</td></tr>
</table>
とPHPコード:
print 'You have signed up for a ';
if ($_POST['room'] == 'single') {
print 'single room.';
} elseif ($_POST['room'] == 'double') {
print 'double room. <br /> <br />' ;
}
print 'Your meal signups are: <br />';
if (isset($_POST['fridayDinner']) && isset($_POST['saturdayDinner']) && isset ($_POST['sundayDinner'])) {
print '<i>Friday dinner <br />' . 'Saturday dinner <br />' . 'Sunday dinner </i> <br />';
} elseif (isset($_POST['fridayDinner']) && isset($_POST['saturdayDinner'])) {
print '<i>Saturday dinner <br />' . 'Sunday dinner </i> <br />';
} elseif (isset($_POST['fridayDinner']) && isset($_POST['sundayDinner'])) {
print '<i>Friday dinner <br />' . 'Sunday dinner </i> <br />';
} elseif (isset($_POST['saturdayDinner']) && isset($_POST['sundayDinner'])) {
print '<i>Saturday dinner <br />' . 'Sunday dinner </i> <br />';
} elseif (isset($_POST['saturdayDinner']) && isset($_POST['sundayDinner'])) {
print '<i>Saturday dinner <br />' . 'Sunday dinner </i> <br />';
} else {
print '<i>No meals </i> <br /><br />';
}
ありがとう、と私は、任意の入力に感謝かこれをもっとうまくやっていく方法の提案!
は問題を解決しませんが、ディナーのチェックボックスの入力は同じ名前である必要があります。名前の後ろに '[]'を使うのを忘れないでください。そうすれば配列になります。 – Cashbee
各POST配列に整数を代入し、 '+'を使ってそれらを追加します - それらに1つの変数を代入します*「あなたの合計は...」と連結します*。 –