14

我正在尝试发布一个充满复选框的数组并在下一页中打开它..

它只给了我最后一个结果,有人知道为什么吗?或如何解决?

<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'的答案。当我将它们带到下一页时,我希望能够单独选择它们。

谢谢!

4

2 回答 2

31

如果 POST 以[].

所以你需要 havename="day[]"而不是 just name="day"

(请注意,这适用于任何 POST 值,也适用于关联数组,而不仅仅是自动递增——你可以这样做name="foo[bar]",你会得到$_POST['foo']['bar']......)

于 2009-01-09T19:59:46.080 回答
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" />

依此类推……

于 2009-01-09T19:58:55.923 回答