如何使用php在表单中收集多个复选框值

时间:2015-10-26 09:38:49

标签: php html arrays forms checkbox

我试图以php形式收集复选框信息。 Everythig其他工作正常,但是当选择5/10复选框时,它只给我最后一个选中。当使用“services []”数组时,它只是通过电子邮件发回“services:array” 任何想法都会很棒。

感谢。 (这是PHP即时使用)

$name = $_POST['name'];
$email = $_POST['email'];
$number = $_POST['number'];
$services = $_POST['services'];

$message = $_POST['message'];
$changes = $_POST['changes'];
$found_me = $_POST['found_me'];

(这是HTML线程)

<label>
        <input type="checkbox" name="services[]" value="silver" class="silver">
        Silver Pack (Website)
        </label>

1 个答案:

答案 0 :(得分:2)

如果您发布的任何元素最后都有方括号[],那么您将发布一个包含多个元素的数组。

您正在发布带有name services[]的checbox,因此您将以张贴的形式获得数组。

此外,如果您有10个服务复选框,则只会发布将要检查的服务复选框。

要处理此HTML:

<input type="checkbox" name="services[]" value="silver" class="silver">

在PHP中,对所有复选框使用foreach循环。

<?php
if (! empty($_POST['services'])) {
  foreach ($_POST['services'] as $service) {
    // YOU ARE GETTING POSTED VALUES HERE.
    // NOW, $service will have values like: silver, ...
  }
}
?>