2012-12-20 130 views
1

我使用與方法的形式GET和一個複選框數組:刪除方括號[]從方法GET形式URL

foreach ($foo AS $key=> $value) { 
$i++; 
echo '<label for="'.$i.'">'.$value.'</label> 
    <input type="checkbox" name="foo[]" value="'.$value.'"" />'; 
} 

其輸出像URL:

form.php?id=34&foo[]=c1&foo[]=c2&foo[]=c3 

是有方法去除方括號[]然後改變形式方法到POST這不是真的和選項?

+4

不要命名元素'foo []',但'foo' ... – Oded

+1

方括號有什麼問題?如果你刪除它們,你只會得到get字符串中的最後一個值。在你提供的網址中,你只會得到$ _GET ['foo'] =='c3'。 –

+1

由於您在循環中生成複選框,因此您必須保留括號,否則一個複選框的值將被另一個複選框 – Kasun

回答

2

否。如果您希望允許多個可能的值並將其作爲單個數組在與複選框相對應的PHP端處理,則需要使用方括號命名。通常情況下,這不是一個問題,因爲您通常會使用帖子提交表單並且看不到參數。

+0

表單方法最初是POST,但我將其更改爲GET以修復以前的問題。 –

+0

@AnnaRiekic創建一個關於上一個問題的問題......也許我們可以幫助您使用POST進行工作。 – Ray