📜  如何从多个复选框中获取 $_POST ?(1)

📅  最后修改于: 2023-12-03 15:23:48.074000             🧑  作者: Mango

如何从多个复选框中获取 $_POST?

在 HTML 表单中,复选框(CheckBox)是一种允许用户选择一个或多个选项的输入元素。在处理表单时,我们通常需要从多个复选框中获取用户所选择的值。本文将介绍如何使用 PHP 中的 $_POST 变量来获取多个复选框中用户所选择的值。

HTML 表单中的多个复选框

HTML 中通过使用 input 标签和 type=checkbox 属性来创建复选框。如下所示:

<form method="post" action="process_form.php">
  <input type="checkbox" name="fruits[]" value="apple"> Apple<br>
  <input type="checkbox" name="fruits[]" value="banana"> Banana<br>
  <input type="checkbox" name="fruits[]" value="orange"> Orange<br>
  <input type="submit" value="Submit">
</form>

上面的表单中,我们创建了三个不同的复选框,分别代表三种不同的水果。所有的复选框都有相同的 name 属性 fruits[],这意味着它们都将被当作一个数组来传递给 process_form.php

处理多个复选框的值

在接收到从表单提交的数据后,我们可以使用 $_POST 变量来获取用户选择的所有水果的值。我们需要检查是否已经选择了一个或多个项目。使用 isset($_POST['fruits']) 来检查 fruits 数组是否已经被提交。如果被提交,使用 $_POST['fruits'] 来获取选定的 $value 数组。

if(isset($_POST['fruits'])) {
  $fruits = $_POST['fruits'];
  foreach($fruits as $fruit) {
    echo $fruit . '<br>';
  }
}

上面的代码首先检查是否提交了 fruits 数组,如果有,则将该数组赋给 $fruits 变量。然后,使用 foreach 循环来遍历该数组并将每个元素打印到屏幕上。

完整代码
<?php
if(isset($_POST['fruits'])) {
  $fruits = $_POST['fruits'];
  foreach($fruits as $fruit) {
    echo $fruit . '<br>';
  }
}
?>
<form method="post" action="process_form.php">
  <input type="checkbox" name="fruits[]" value="apple"> Apple<br>
  <input type="checkbox" name="fruits[]" value="banana"> Banana<br>
  <input type="checkbox" name="fruits[]" value="orange"> Orange<br>
  <input type="submit" value="Submit">
</form>

上述代码演示了如何从多个复选框中获取 $_POST 的值。如果选择了复选框,该代码将打印出选定的水果名称。