题
我正在尝试发布一个充满复选框的数组,并在下一页打开它。
它只给我最后的结果,有谁知道为什么?或者如何解决它?
<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" />
列表中的依旧......
不隶属于 StackOverflow