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

它只给我最后的结果,有谁知道为什么?或者如何解决它?

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

谢谢!

有帮助吗?

解决方案

只有在 [] 中结束时,PHP才会自动将POST值转换为数组。

所以你需要 name =&quot; day []&quot; 而不是 name =&quot; day&quot;

(请注意,这适用于任何POST值,也适用于关联数组而不仅仅是自动递增 - 您可以执行 name =&quot; foo [bar]&quot; ,并且'' d得到 $ _ POST ['foo'] ['bar'] ...)

其他提示

您获得一个结果的原因是因为您发布了多个具有相同名称的字段,因此默认情况下,最后一个字段会覆盖所有以前的字段。尝试在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" />
列表中的

依旧......

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top