当前位置: 首页 > 面试题库 >

用PHP获取多个复选框名称/ ID

雷献
2023-03-14
问题内容

如何使用PHP获取提交时选中的多个复选框的名称或ID?以下是示例表格。谢谢。

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
   <input type="checkbox" name="orange" id="orange">
   <input type="checkbox" name="apple" id="apple">
   <input type="checkbox" name="sky" id="sky">
   <input type="checkbox" name="sea" id="sea">
   <br>
   <br>
   <input type="submit" name="Submit" value="Submit">
</form>

问题答案:

仅当选中复选框时,才从表单提交复选框值。此外,重要的是name属性,而不是ID。

有几种处理PHP中复选框的方法:

  1. 为所有复选框指定相同的名称,后跟一对方括号,以便将整个集合视为一个数组。在这种情况下,请为每个复选框指定一个值。
  2. 为每个复选框指定不同的名称和值。
  3. 为每个复选框指定一个不同的名称,但没有值。

在每种情况下,都需要检查$ _POST数组中是否存在复选框名称。

例如:

<input type="checkbox" name="color[]" id="orange" value="orange">
<input type="checkbox" name="color[]" id="apple" value="apple">

要获取这些复选框的值:

if (isset($_POST['color'])) {
    $colors = $_POST['color'];
    // $colors is an array of selected values
}

但是,如果每个复选框都有一个不同的名称和一个像这样的显式值:

<input type="checkbox" name="orange" id="orange" value="orange">
<input type="checkbox" name="apple" id="apple" value="apple">

您仍然需要使用isset():

if (isset($_POST['orange'])) {
    // orange has been set and its value is "orange"
}

如果未设置值,则默认值为“ on”,但除非已选择它,否则它不会在$ _POST数组中,因此您仍然需要使用isset()。



 类似资料:
  • 问题内容: 我有1个表单,里面有多个复选框(每个都有代码): 数据库中的主键在哪里- 因此每个值都不同。 我如何知道已经选中了哪些复选框?(也许多个) 这是针对收件箱系统的,我下面有一个按钮,我希望(单击时)删除选中了复选框的所有消息(标识:)。 问题答案: 在表单中将名称设置为,您将能够以array()的形式访问所有复选框。 以下是根据要求提供的一些示例:

  • 问题内容: 我在这里查找了一些示例,但是其中许多示例要么太高级以至于无法掌握PHP,要么它们的示例过于针对自己的项目。我目前正在努力处理PHP表单的非常基本的部分。 我正在尝试创建一个带有几个复选框的表单,每个复选框分配一个不同的值,我希望将这些复选框发送到一个变量(数组?),以便以后可以回显/使用,在我的情况下,我将在其中发送已检查的值一封电邮。 到目前为止,我已经尝试了一些变体,但是最接近的是

  • 我有这样的json数组 我想得到

  • 问题内容: 我很难解决多个复选框删除问题。有人可以指导我解决问题吗?此处应该发生的情况是,用户可以在框上打勾,然后单击“删除”按钮以删除被打勾的框。不幸的是,我的代码似乎无效。你能为我指出正确的方向吗? 问题答案: 此HTML: 应该: 该查询应为:

  • 如何使用fluid获取前端模板中选中的多个复选框的值,并在action extbase中使用这些值?

  • 问题内容: 我的问题真的很简单:我有一个复选框列表,如下所示: 我想发送一组选定的选项,例如: 如果选择了选项1、5和8。该数组是我想通过HTTP PUT请求发送的JSON的一部分。 谢谢你的帮助! 问题答案: 感谢Gunter,我找到了解决方案!这是我的完整代码,如果它可以帮助任何人: 这是我正在使用的3个对象: 共有3种有用的方法: 1 。启动: 2. 更新: 3. 转换成并将其存储在发送PO