私はまだPHPに慣れていないので、ご容赦ください。私は正しい軌道に乗っていると思いますが、それを完全に理解することはできません。
目的は、ラジオ ボタンとチェックボックスを使用して簡単な注文フォームを作成することです。ただし、それらは制限です。この場合、チョコレート アイス クリームにチョコレートをふりかけたり、ピーナッツ バター アイス クリームにクルミをふりかけたりすることはありません。私は、1つをチェックしてからもう1つをチェックする方法を見つけるために、ほぼ4時間試みてきました。
助けていただければ幸いです。
HTML コード:
<DOCTYPE xhtml>
<head>
<title>Lab 4 - Ice Cream</title>
<link rel="stylesheet" type="text/css" href="lab4.css">
</head>
<body>
<div id="container">
<h3>Ice Cream Order Form</h3>
<hr>
<form action="lab4.php" method="post">
Please choose a flavor:
<ul><li><input type="radio" name="flavor" value="Vanilla" checked="checked">Vanilla</li>
<li><input type="radio" name="flavor" value="Chocolate">Chocolate</li>
<li><input type="radio" name="flavor" value="Peanut Butter">Peanut Butter</li>
</ul>
Please choose your toppings:
<ul>
<li><input type="checkbox" name="toppings[0]" value="Cherries">Cherries</li>
<li><input type="checkbox" name="toppings[1]" value="Chocolate Sprinkles" id="chocsprink">Chocolate Sprinkles</li>
<li><input type="checkbox" name="toppings[2]" value="Pineapple">Pineapple</li>
<li><input type="checkbox" name="toppings[3]" value="Walnuts">Walnuts</li>
<li><br /></li>
<li><input id="submit" type="Submit" name="Submit" value="Submit"><input id="reset" type="Reset" name="Reset" value="Reset"></li>
<div id="note">
<span>Please note: We are unable to put chocolate sprinkles on chocolate ice cream. </span><br />
<span>Please note: We are unable to put walnuts on peanut butter ice cream.</span>
</div>
</div>
</form>
</body>
</html>
PHP コード:
$toppings=$_POST['toppings'];
$flavor=$_POST['flavor'];
$break='<br>';
if (isset($_POST['toppings[1]'])) {
$choc = True;}
if (isset($_POST['flavor'])==Chocolate){
$flav = True;}
if($choc == True && $flav === True){
echo 'We are sorry, but you can not put chocolate sprinkles on chocolate ice cream.';}
else {
echo 'Thank You. <br /><br ?>';
echo 'Your order has been placed<br /><br />';
echo '';
echo "You have chosen the <u><b>$flavor</b></u> ice cream with the following toppings:<br />";
}
if (!empty($_POST['toppings'])) {
foreach($_POST['toppings'] as $alltoppings) {
echo $alltoppings . $break;}}
?>