2011-07-18 14 views
0

有人可以幫我嗎?我無法使用多重選擇回覆我的複選框組。 每次我隨聲附和複選框組的唯一的東西展示的是最後的框,香港專業教育學院檢查。如何回顯複選框組?

這裏是我的代碼

<?php 
$submit = $_POST['submit']; 
$incharge = $_POST['incharge']; 

if ($submit) 
{ 
    echo $incharge; 
} 

?> 

<table width="500" height="69"> 
     <tr> 
     <td width="73"><label> 
      <input type="checkbox" name="incharge" value="1" id="responsible_0" /> 
      MNFA</label></td> 
      <td width="72"><label> 
      <input type="checkbox" name="incharge" value="2" id="responsible_1" /> 
      HJB</label></td> 
      <td width="70"><label> 
      <input type="checkbox" name="incharge" value="3" id="responsible_2" /> 
      JBG</label></td> 
      <td width="75"><label> 
      <input type="checkbox" name="incharge" value="4" id="responsible_3" /> 
      MSG</label></td> 
      <td width="275"><label> 
      <input type="checkbox" name="incharge" value="5" id="responsible_4" /> 
      MGR</label></td> 
     </tr> 
     <tr> 
     <td height="33"><label> 
      <input type="checkbox" name="incharge" value="6" id="responsible_5" /> 
      AAP</label></td> 
      <td><label> 
      <input type="checkbox" name="incharge" value="7" id="responsible_6" /> 
      EPM</label></td> 
      <td><label> 
      <input type="checkbox" name="incharge" value="8" id="responsible_7" /> 
      SGA</label></td> 
      <td><label> 
      <input type="checkbox" name="incharge" value="9" id="responsible_8" /> 
      JLL</label></td> 
      <td><label> 
      <input type="checkbox" name="incharge" value="10" id="responsible_9" /> 
      AFM</label></td> 
     </tr> 
    </table> 

預先感謝您..。

回答

2

更改名稱屬性:

name="incharge[]" 

這將產生一個數組,$ incharge。

請注意,您不能只是呼應該值;您將需要「print_r」或循環。

+0

我看到一些不使用[]符號的網站。相應的請求變量會在請求數組中出現好幾次。例如。如果在上面的表單中檢查兩個複選框,則URL字符串(在GET的情況下)將包含具有不同值的兩次「incharge」。 – Tchypp

+0

哦,網上有很多教程沒有提到[]符號。 – Tchypp

1

你需要改變你的「輸入」元素的「name」屬性來表明它是通過在末尾添加方括號[]的數組。 $_POST['incharge']將是一個數組而不是一個字符串。

<input type="checkbox" name="incharge[]" value="1" id="responsible_0" /> 
1

原因只發送的最後一個值是因爲所有的複選框具有相同的名稱,從而一遍遍重命名它們。你需要的是所有的複選框分配到一個數組,像這樣:

變化name="incharge"name="incharge[]"

你會再想要遍歷它:

if ($submit) 
{ 
    // PHP throws a fit if we try to loop a non-array 
    if(is_array($incharge)) 
    { 
     foreach($incharge as $val) 
     { 
      echo $val . '<br />'; 
     } 
    } 
} 
+0

或者您可以使用print_r($ incharge)來顯示數組。 – Rasika

+0

是的或的var_dump等想通了,他想呼應在他的例子讓我教他如何呼應陣列中的每個條目。 – AlienWebguy

+0

現在有效。非常感謝.. 。 –

0
if(isset($_post['calculations']) 
{ 
    $member = $_POST['member'];//get the total values in an array 

    if(is_array($member))// confirm $member is an array 
    { 
     foreach($member as $names) 
     { 
      echo $names ."<br/>";//take the values 

     } 
    } 


<input type="checkbox" name="member[]" value="value1">