Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在复选框中存储多个值以使用php进行检查_Php_Html_Css_Checkbox - Fatal编程技术网

在复选框中存储多个值以使用php进行检查

在复选框中存储多个值以使用php进行检查,php,html,css,checkbox,Php,Html,Css,Checkbox,我有一个学校作业,在mc和bk之间做一个比较网站 现在我有这个: <html> <head> <link rel="stylesheet" type="text/css" href="style1.css" /> </head> <?php if(isset($_POST['formSubmit'])) { $breakfastMC = $_POST['Brea

我有一个学校作业,在mc和bk之间做一个比较网站

现在我有这个:

<html>
<head>

<link rel="stylesheet" type="text/css" href="style1.css" />

     </head>
     <?php

     if(isset($_POST['formSubmit'])) 
         {
             $breakfastMC = $_POST['BreakfastMC'];
             $breakfastBK = $_POST['BreakfastBK'];
             $sumMC = 0;
             $sumBK = 0;
             if(empty($breakfastMC)) 
                 {
                     echo("<p>You didn't select any food in MC.</p>\n");
                 } 
             else 
                 {
                     $MC = count($breakfastMC);

                     echo("<p>You selected for MC = $MC:<br/>");
                     for($i=0; $i < $MC; $i++)
                         {   
                             echo( "Price = " . $breakfastMC[$i] . "<br/>");
                             $sumMC += floatval( $breakfastMC[$i] );
                         }
                     echo "Total MC = " . $sumMC . "<br/>";
                 }
             if(empty($breakfastBK)) 
                 {
                     echo("<p>You didn't select any food in BK.</p>\n");
                 } 
             else 
                 {
                     $BK = count($breakfastBK);

                     echo("<p>You selected for BK = $BK:<br/>");
                     for($i=0; $i < $BK; $i++)
                         {
                             echo( "Price = " . $breakfastBK[$i] . "<br/>");
                             $sumBK += floatval( $breakfastBK[$i] );
                         }
                     echo "Total BK = " . $sumBK . "<br/>";
                 }
             //$sumBK = array_sum($BK)       
             //$sumMC = array_sum($MC)
             if ( $sumBK == $sumMC )
                 echo 'equal';
             else if ( $sumBK > $sumMC )
                 echo 'BK more expensive than MC';
             else echo 'MC more expensive than BK';


             function IsChecked($chkname,$value)
             {
                 if(!empty($_POST[$chkname]))
                     {
                         foreach($_POST[$chkname] as $chkval)
                             {
                                 if($chkval == $value)
                                     {
                                         return true;
                                     }
                             }
                     }
                 return false;
             }
         }
     ?>


     <form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
     <div class="MC">
     <h2><b>Mc Donalds</b></h2>
     <br />
     <b>Ontbijt:</b>
     <br />

     <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]" id="squaredOne1"   value="2"/>
     <label for="squaredOne1"></label>
     <div class="McText">Croissant jam en boter Prijs = 2       Cal = 100</div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne2"   value="3"/>
     <label for="squaredOne2"></label>
     <div class="McText">Pancakes met stroop <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne3"   value="3"/>
     <label for="squaredOne3"></label>
     <div class="McText">McMuffin met Bacon en Ei <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne4"   value="4"/>
     <label for="squaredOne4"></label>
     <div class="McText">McMuffin met Kaas <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne5"   value="2"/>
     <label for="squaredOne5"></label>
     <div class="McText">2x Versgemalen koffie <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne6"   value="2"/>
     <label for="squaredOne6"></label>
     <div class="McText">2x Thee <br /></div>
     </div>
     <b>Lunch:</b>
     <br />
     <div class="squaredOne"><input type="checkbox" name="LunchMC[]" id="squaredOne7"   value="2"/>
     <label for="squaredOne7"></label>
     <div class="McText">Hamburger <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="LunchMC[]" id="squaredOne8"   value="3"/>
     <label for="squaredOne8"></label>
     <div class="McText">Cheeseburger <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="LunchMC[]" id="squaredOne9"   value="4"/>
     <label for="squaredOne9"></label>
     <div class="McText">1955 met bacon <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="LunchMC[]" id="squaredOne10"   value="3"/>
     <label for="squaredOne10"></label>
     <div class="McText">McKroket <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne11"   value="2"/>
     <label for="squaredOne11"></label>
     <div class="McText">Coca Cola Middel (0,4L) <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne12"   value="4"/>
     <label for="squaredOne12"></label>
     <div class="McText">Coca Cola Groot (0,5L) <br /></div>
     </div>

     <b>Avondeten:</b>
     <br />
     <div class="squaredOne"><input type="checkbox" name="DinerMC[]" id="squaredOne13"   value="4"/>
     <label for="squaredOne13"></label>
     <div class="McText">Big Mac <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="DinerMC[]" id="squaredOne14"   value="3"/>
     <label for="squaredOne14"></label>
     <div class="McText">Chicken Sensation <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="DinerMC[]" id="squaredOne15"   value="5"/>
     <label for="squaredOne15"></label>
     <div class="McText">Chili Chicken <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="DinerMC[]" id="squaredOne16"   value="4"/>
     <label for="squaredOne16"></label>
     <div class="McText">Big Tasty met bacon <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne17"   value="5"/>
     <label for="squaredOne17"></label>
     <div class="McText">Coca Cola Mega (0,7L) <br /></div>
     </div>
     <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne18"   value="4"/>
     <label for="squaredOne18"></label>
     <div class="McText">Coca Cola Groot (0,5L) <br /></div>
     </div>

     <br />

     </div>

     <div class="BK">

     <h2><b>Burger King </b></h2>

     <b>Ontbijt:</b>
     <br />
     <input type="checkbox" name="BreakfastBK[]"   value="1.50">  Mini Pancakes (9stuks) €1,50 364kcal<br />
     <input type="checkbox" name="BreakfastBK[]"   value="1.50">  Toastie €1,50 359 kcal<br />
     <input type="checkbox" name="BreakfastBK[]"   value="3.00">  Breakfast Burger €3,00  825 kcal <br />
     <input type="checkbox" name="BreakfastBK[]"   value="2.75">  Breakfast Wrap €2,75 441 kcal<br /> <br />
     <input type="checkbox" name="BreakfastBK[]"   value="3.80">  2xKoffie €3,80 0 kcal<br />
     <input type="checkbox" name="BreakfastBK[]"   value="2.25">  1 flesje Chaudfontaine (500 ml) €2,25 0 kcal<br />

     <b>Lunch:</b>
     <br />
     <input type="checkbox" name="LunchBK[]"   value="4.55">  Grilled Chicken Wrap €4,55  344 kcal<br />
     <input type="checkbox" name="LunchBK[]"   value="1.95">  Cheeseburger €1,95 338 kcal<br />
     <input type="checkbox" name="LunchBK[]"   value="5.75">  Tripple Whopper €5,75  1114 kcal<br />
     <input type="checkbox" name="LunchBK[]"   value="4.75">  Big King XXL  €4,75 1022 kcal<br /> <br />
     <input type="checkbox" name="BreakfastBK[]"   value="2.00">  Coca Cola M (400 ml)  €2,00 168 kcal<br />
     <input type="checkbox" name="BreakfastBK[]"   value="2.50">  Coca Cola XXL (750 ml) €2,50  315 kcal<br />

     <b>Avondeten:</b>
     <br />
     <input type="checkbox" name="DinerBK[]"   value="4.75">  Double Cheeseburger XXL  €4,75  502 kcal <br />
     <input type="checkbox" name="DinerBK[]"   value="5.25">  Grilled Chicken BBQ €5,25 707 kcal<br />
     <input type="checkbox" name="DinerBK[]"   value="3.25">  Whopper Jr. €3,25 362 kcal  <br />
     <input type="checkbox" name="DinerBK[]"   value="3.75">  Big King €3,75 552 kcal <br /> <br />
     <input type="checkbox" name="BreakfastBK[]"   value="2.25">  Coca Cola M (400 ml) €2,25 210 kcal <br />
     <input type="checkbox" name="BreakfastBK[]"   value="2.50">  Coca Cola XXL (750 ml) €2,50  315 kcal<br />

     </div>
     <div class="Button">
     <input type="submit" name="formSubmit" value="submit">
     </div>


     </form>

     </body>
     </html>


不要把价格放在价值里,只要在那里放一个产品的标识符,例如

 <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]" id="squaredOne1"   value="croissant"/>
 <label for="squaredOne1"></label>
 <div class="McText">Croissant jam en boter Prijs = 2       Cal = 100</div>
 </div>
 <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne2"   value="pancakes"/>
 <label for="squaredOne2"></label>
 <div class="McText">Pancakes met stroop <br /></div>
 </div>
 <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne3"   value="mcmuffinbacon"/>
 <label for="squaredOne3"></label>
 <div class="McText">McMuffin met Bacon en Ei <br /></div>
 </div>
 <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne4"   value="mcmuffinkaas"/>
 <label for="squaredOne4"></label>
 <div class="McText">McMuffin met Kaas <br /></div>
 </div>
然后,在计算价格时,您可以执行以下操作:

 foreach($breakfastMC AS $bk)
     {
         echo( "Price = " . $MCmenu[$bk]['price'] . "<br/>");
         echo( "Calories = " . $MCmenu[$bk]['calories'] . "<br/>");
         $sumMC += $MCmenu[$bk]['price'];
         $caloriesMC += $MCmenu[$bk]['calories'];

     }
然后,您可以根据以下内容生成HTML:

foreach ($MCmenu as $id => $item) {
    $price = $item['price'];
    $cal = $item['calories'];
    $desc = $item['desc'];
    ?>
 <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]" id="BreakfastMC<?php echo $id ?>"   value="<?php echo $id ?>"/>
 <label for="BreakfastMC<?php echo $id ?>"></label>
 <div class="McText"><?php echo $desc ?> = <?php echo $price ?>       Cal = <?php echo $cal ?></div>
 </div>
<?php }
foreach($mcmenus as$id=>$item){
$price=$item['price'];
$cal=$item['carries'];
$desc=$item['desc'];
?>

不要把价格放在价值里,只要在那里放一个产品的标识符,例如

 <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]" id="squaredOne1"   value="croissant"/>
 <label for="squaredOne1"></label>
 <div class="McText">Croissant jam en boter Prijs = 2       Cal = 100</div>
 </div>
 <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne2"   value="pancakes"/>
 <label for="squaredOne2"></label>
 <div class="McText">Pancakes met stroop <br /></div>
 </div>
 <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne3"   value="mcmuffinbacon"/>
 <label for="squaredOne3"></label>
 <div class="McText">McMuffin met Bacon en Ei <br /></div>
 </div>
 <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]"  id="squaredOne4"   value="mcmuffinkaas"/>
 <label for="squaredOne4"></label>
 <div class="McText">McMuffin met Kaas <br /></div>
 </div>
然后,在计算价格时,您可以执行以下操作:

 foreach($breakfastMC AS $bk)
     {
         echo( "Price = " . $MCmenu[$bk]['price'] . "<br/>");
         echo( "Calories = " . $MCmenu[$bk]['calories'] . "<br/>");
         $sumMC += $MCmenu[$bk]['price'];
         $caloriesMC += $MCmenu[$bk]['calories'];

     }
然后,您可以根据以下内容生成HTML:

foreach ($MCmenu as $id => $item) {
    $price = $item['price'];
    $cal = $item['calories'];
    $desc = $item['desc'];
    ?>
 <div class="squaredOne"><input type="checkbox" name="BreakfastMC[]" id="BreakfastMC<?php echo $id ?>"   value="<?php echo $id ?>"/>
 <label for="BreakfastMC<?php echo $id ?>"></label>
 <div class="McText"><?php echo $desc ?> = <?php echo $price ?>       Cal = <?php echo $cal ?></div>
 </div>
<?php }
foreach($mcmenus as$id=>$item){
$price=$item['price'];
$cal=$item['carries'];
$desc=$item['desc'];
?>


所有这些都是什么?一个输入只能发送一个值。您可以将
value=“10-20”
,然后PHP代码可以将其拆分。好的,我如何做到这一点而不弄乱我的所有代码:更好的方法是根本不将价格和卡路里放入值中。只需为每个产品添加一个标识符,并使用PHP中的数组来查找价格和卡路里。您能详细说明吗?或者将我链接到becau的某个东西上se我真的不明白。这些都是什么?
一个输入只能发送一个值。你可以把
value=“10-20”
,然后PHP代码可以将其拆分。好的,我如何做到这一点而不弄乱我的所有代码:更好的方法是根本不将价格和卡路里放入值中。只需为每个产品添加一个标识符,并使用PHP中的数组来查找价格和卡路里。您能详细说明吗?或者将我链接到becau的某个东西上se我真的不明白。好的,谢谢你,但是我如何让MCmenu数组从复选框中读取值?MCmenu数组不会从复选框中获取值。你必须将所有值放入脚本中。你可以做的是将所有描述放入数组中。然后你可以从数组中生成所有HTML。这样你就不必e重复两个位置的价格和卡路里。o这很有用,我该怎么做?我已经把它添加到了答案中。好的,谢谢你,但是我该如何让mcmen数组从复选框中读取值?MCmenu数组不会从复选框中获取值。你必须在脚本中输入所有值。你可以做的是将所有的d数组中的描述。然后你可以从数组中生成所有HTML。这样你就不必在两个地方重复价格和卡路里了。:o那很有用,我该怎么做?我已经将它添加到了答案中。