【问题标题】:Array posting in PHPPHP中的数组发布
【发布时间】:2010-09-30 13:50:03
【问题描述】:

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

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

<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 arrays post


    【解决方案1】:

    如果 POST 值以 [] 结尾,PHP 只会自动将其放入数组中。

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

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

    【讨论】:

      【解决方案2】:

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

      等等……

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-12
        • 1970-01-01
        • 1970-01-01
        • 2012-07-27
        • 1970-01-01
        • 2020-11-27
        • 1970-01-01
        • 2016-10-08
        相关资源
        最近更新 更多