2013-05-29 101 views
1

我正在使用PHP編寫這段代碼,基本上我有5個複選框,5個單獨的項目,每個項目都稱爲「ItemCheck」,它們的值爲0-4。現在我編寫了一個代碼,它顯示了從這5個檢查列表中檢查的數字。For loops&If語句

表:

for ($i=0;$i<count(5);$i++){ 
echo " 
<input type='checkbox' name='ItemCheck' value='$i.check'>$i</input><br>"} 

PHP程序:

if (isset($_POST['ItemCheck'])){ 

    for ($o=0;$o<$ItemCount;$o++){ 

     if($_POST['ItemCheck'] == $o.'.check') { 
      echo "Item " . $o . "<br>"; 

      } 
    } 
} 
else{ echo "You must select at least one product";} 

雖然說,如果我複選框#1,2 & 3,最終輸出將只顯示 「選項3」 。現在,您選擇多少個複選框,它將只顯示具有最高值和其他值的複選框。是否有人知道代碼有什麼問題,以及如何獲得代碼,以便顯示所選的每個數字,而不僅僅是具有最高值的代碼?

回答

1

你想要做的是設置複選框元素的名稱ItemCheck[]這將使$_POST["ItemCheck"]數組。

例子:

for ($i=0;$i<count(5);$i++){ 
    echo "<input type='checkbox' name='ItemCheck[]' value='$i.check'/> $i<br>"; 
} 

另一個要注意的是,瀏覽器將不會發布任何東西對於未選中的複選框,所以我覺得你的處理器需要是這樣的。

<?php 
if (isset($_POST['ItemCheck'])){ 
    for ($o=0;$o<count($_POST['ItemCheck']);$o++){ 
      echo "Item " . $_POST['ItemCheck'] . "<br>"; 
    } 
} else { 
    echo "You must select at least one product"; 
} 
?> 

另一件事所以要確保的是,你的窗體有設置爲POST

+0

活計,你剛通過我的代表數,在21天,這是我9個月累積的方法。你有什麼竅門? – samayo

+2

cronic失眠症 – Orangepill

+1

和一點點ocd – Orangepill