【问题标题】:How to handle multiple checkboxes in a PHP form?如何处理 PHP 表单中的多个复选框?
【发布时间】:2011-07-30 04:16:38
【问题描述】:

我的表单上有多个复选框:

<input type="checkbox" name="animal" value="Cat" />
<input type="checkbox" name="animal" value="Dog" />
<input type="checkbox" name="animal" value="Bear" />

如果我检查所有三个并点击提交,在 PHP 脚本中使用以下代码:

if(isset($_POST['submit']) {
   echo $_POST['animal'];
}

我得到“熊”,即最后选择的复选框值,即使我选择了所有三个。如何获得全部 3 个?

【问题讨论】:

    标签: php html


    【解决方案1】:

    查看我对名称所做的更改:

    <input type="checkbox" name="animal[]" value="Cat" />
    <input type="checkbox" name="animal[]" value="Dog" />
    <input type="checkbox" name="animal[]" value="Bear" />
    

    你必须将它设置为数组。

    print_r($_POST['animal']);
    

    【讨论】:

    • 如果没有选中任何复选框,PHP 将抛出错误,因为 animal 甚至不会被设置。
    【解决方案2】:
    <input type="checkbox" name="animal[]" value="Cat" />
    <input type="checkbox" name="animal[]" value="Dog" />
    <input type="checkbox" name="animal[]" value="Bear" />
    

    如果我检查所有三个并点击提交,在 PHP 脚本中使用以下代码:

    if(isset($_POST['animal'])){
        foreach($_POST['animal'] as $animal){
            echo $animal;
        }
    }
    

    【讨论】:

      【解决方案3】:

      在字段名后使用方括号

      <input type="checkbox" name="animal[]" value="Cat" />
      <input type="checkbox" name="animal[]" value="Dog" />
      <input type="checkbox" name="animal[]" value="Bear" />
      

      在 PHP 方面,您可以像对待任何其他数组一样对待它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-06
        • 2018-03-26
        • 2021-03-10
        相关资源
        最近更新 更多