Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将组中的复选框分配给PHP变量_Php - Fatal编程技术网

将组中的复选框分配给PHP变量

将组中的复选框分配给PHP变量,php,Php,我对PHP有非常基本的了解,所以任何帮助或相关教程的链接都会很有帮助 我有三个复选框-‘初学者’、‘中级’和‘高级’。我写了一些jQuery,这意味着只能选择一个(比如单选按钮)。我想将选中的一个指定给PHP变量以在表单上提交,但我找不到任何帮助/我能理解的教程。所有复选框共享同一个类。我是否可以循环浏览它们并选择选中的一个?任何洞察都会大有裨益 HTML 如果您将所有复选框命名为相同的名称,您将能够访问在PHP中提交的复选框的值。例如,将复选框的所有名称属性更改为level。不是将初学者、中级

我对PHP有非常基本的了解,所以任何帮助或相关教程的链接都会很有帮助

我有三个复选框-‘初学者’、‘中级’和‘高级’。我写了一些jQuery,这意味着只能选择一个(比如单选按钮)。我想将选中的一个指定给PHP变量以在表单上提交,但我找不到任何帮助/我能理解的教程。所有复选框共享同一个类。我是否可以循环浏览它们并选择选中的一个?任何洞察都会大有裨益

HTML


如果您将所有复选框命名为相同的名称,您将能够访问在PHP中提交的复选框的值。例如,将复选框的所有名称属性更改为
level
。不是将初学者、中级和高级放在name属性中,而是将它们放在value属性中

<form method="post" action="generate_workout.php" target="_new">

    <div class="difficulty-check">
        <input type="checkbox" id="easy-check" class="difficulty" name="level[]" value="beginner" />
        <label for="easy-check"></label>
    </div>

    <div class="difficulty-check">
        <input type="checkbox" id="medium-check" class="difficulty" name="level[]" value="intermediate" />
        <label for="medium-check"></label>
    </div>

    <div class="difficulty-check">
        <input type="checkbox" id="hard-check" class="difficulty" name="level[]" value="advanced" />
        <label for="hard-check"></label>
    </div>

    <input type="submit" value="Generate"/>

</form>

问题是,如果选择了不止一个,会发生什么?回答:它将覆盖其他。如果只有一个选项,就应该使用单选按钮。@Fred ii-他不是说他做了一些jQuery,所以用户只能选择一个吗?“是的,我同意,他应该使用单选按钮。”blazerunner44当然,但很难说他没有看到与此相关的jQuery。即使这样,复选框仍然需要作为一个数组来处理。当我为类似于上面的单选按钮使用标签时,它们的行为并不正确。我可以选择多个。@ChrisWness我编辑了我的答案以允许选择多个复选框
$\u POST['level']
现在是所有选中复选框的数组。为什么不使用单选按钮而不是jQuery复选框将选择限制为一个呢。只是为了外表吗?
<form method="post" action="generate_workout.php" target="_new">

    <div class="difficulty-check">
        <input type="checkbox" id="easy-check" class="difficulty" name="level[]" value="beginner" />
        <label for="easy-check"></label>
    </div>

    <div class="difficulty-check">
        <input type="checkbox" id="medium-check" class="difficulty" name="level[]" value="intermediate" />
        <label for="medium-check"></label>
    </div>

    <div class="difficulty-check">
        <input type="checkbox" id="hard-check" class="difficulty" name="level[]" value="advanced" />
        <label for="hard-check"></label>
    </div>

    <input type="submit" value="Generate"/>

</form>
<?php
var_dump($_POST['level']); //Returns an array of all the check boxes that were clicked
?>