2009-01-09 114 views
14

我想發佈一個陣列充分的複選框,並在接下來的頁面中打開它..陣列中的PHP發佈

它只是給了我最後的結果,任何人都知道爲什麼嗎?或如何解決它?

<form name="input" action="createevent.php" method="post"> 

Event title: 
<input type="text" name="Eventtitle" size="20"> 
<br>Event Description 
<input type="text" name="Description" size="20"> 
<br> 
Please select the days that you are free to arrange this meeting.<br> 
Monday 
<input type="checkbox" name="day" value="Monday" /> 
<br /> 
Tuesday 
<input type="checkbox" name="day" value="Tuesday" /> 
<br /> 
Wednesday 
<input type="checkbox" name="day" value="Wednesday" /> 
<br /> 
Thursday 
<input type="checkbox" name="day" value="Thursday" /> 
<br /> 
Friday 
<input type="checkbox" name="day" value="Friday" /> 
<br /> 
Saturday 
<input type="checkbox" name="day" value="Saturday" /> 
<br /> 
Sunday 
<input type="checkbox" name="day" value="Sunday" /> 
<br /><br /> 
<input type="submit" value="Submit"> 

無論你有多少選擇它只是給下一個頁面上一個結果。 $ day = sizeof($ _ POST ['day']);

只給出'1'的答案。當我把它們送到下一頁時,我會希望能夠單獨選擇它們。

謝謝!

回答

31

PHP只會自動將信息值到一個數組,如果它在[]結束。

所以你需要有name="day[]"而不是隻有name="day"

(請注意,這適用於任何崗位價值,同時還與關聯數組,而不是隻自動遞增 - 你可以做name="foo[bar]",你會得到$_POST['foo']['bar'] ...)

7

您只能得到一個結果的原因是因爲您發佈了多個具有相同名稱的字段,所以默認情況下最後一個字段會覆蓋所有以前的字段。嘗試建立在你的HTML數組是這樣的:

Monday 
<input type="checkbox" name="day[]" value="Monday" /> 
<br /> 
Tuesday 
<input type="checkbox" name="day[]" value="Tuesday" /> 
<br /> 
Wednesday 
<input type="checkbox" name="day[]" value="Wednesday" /> 

等下來列表...