使用php获取多个复选框名称/ id

栏目: PHP · 发布时间: 5年前

内容简介:翻译自:https://stackoverflow.com/questions/4631224/getting-multiple-checkboxes-names-ids-with-php
如何使用 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>

仅当选中该复选框时,才会从表单提交复选框值.更重要的是,它是名称属性,而不是ID.

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

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

>为每个复选框指定不同的名称和值.

>为每个复选框指定一个不同的名称,但没有值.

在每种情况下,您需要检查$_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().

翻译自:https://stackoverflow.com/questions/4631224/getting-multiple-checkboxes-names-ids-with-php


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

颠覆医疗

颠覆医疗

[美]埃里克·托普 / 张南、魏薇、何雨师 / 译言·东西文库/电子工业出版社 / 2014-1-20 / 55.00

“创造性破坏”是奥地利经济学家约瑟夫·熊彼特最著名的理论,当一个产业在革新之时,都需要大规模地淘汰旧的技术与生产体系,并建立起新的生产体系。电器之于火器、汽车之于马车、个人计算机之于照排系统,都是一次又一次的“创造性破坏”,旧的体系完全不复存在,新的体系随之取代。 “创造性破坏”已经深深地改变了我们的生活,在这个数字时代,我们身边的一切都被“数字化”了。只有一处,也许是由于其本身的根深蒂固,......一起来看看 《颠覆医疗》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具