2009-12-30 18 views

回答

33

做這樣的事情:在名稱

<input type="checkbox" name="checkboxArray[]" /> 

注[]。

+11

+1很好的答案。 @unknown請記住,如果沒有選中它們,則該字段甚至不會被提交,導致'foreach'失敗。確保在'foreach'之前測試'isset($ _ POST ['checkboxname'])''。 – 2009-12-30 06:58:29

12

像這樣:

<input type="checkbox" name="checkboxname[]" /> 
<input type="checkbox" name="checkboxname[]" /> 
<input type="checkbox" name="checkboxname[]" /> 
<input type="checkbox" name="checkboxname[]" /> 
<input type="checkbox" name="checkboxname[]" /> 

只需追加[]以他們的名字。

+2

有一個小問題!如果我檢查第五個複選框,它應該像'Array([4] => on)',但它顯示'Array([0] => on)爲什麼它應該像'checkboxname [1] '和'checkboxname [2]'??? – 2015-09-26 17:07:57

1

對於那些可以向服務器發送多個值的HTML表單元素(如複選框或多個選擇框),您應該爲您的HTML元素名稱使用一個名稱類似的數組。像這樣:

<input type="checkbox" name="checkboxname[]" /> 

也建議您使用「多/表單數據」的ENCTYPE爲表單元素。

<form enctype="multipart/form-data" action="target.php" method="post"> 

然後在您的PHP腳本中,您可以像訪問數組一樣訪問多個值數據。

+0

似乎'enctype'是不需要的。 – user198729 2009-12-30 07:02:45

3

如果您使用數組作爲複選框,則應添加一個值選項作爲單個複選框的標識符,因爲然後返回的數組從 Array([0] => on,[1] => on)到數組([0] => value1,[1] => value5),它可以讓你識別複選框。

相關問題