php checkbox如何实现多选

首先我们先来了解一下checkbox如何实现多选,要实现checkbox多选,只需要将每个checkbox的name属性设置为相同的值,注意,这个值必须带上“[]”,如:food[], 请看下面实例:

<form action=\"\" method=\"GET\">
        <fieldset>
            <label>
                Italian
                <input type=\"checkbox\" name=\"food[]\" value=\"Italian\" />
            </label>
            <label>
                Mexican
                <input type=\"checkbox\" name=\"food[]\" value=\"Mexican\" />
            </label>
            <label>
                Chinese
                <input type=\"checkbox\" name=\"food[]\" value=\"Chinese\" checked=\"checked\" />
            </label>
        </fieldset>
        <input type=\"submit\" value=\"Go!\" />
</form> 

上面实例中有三个checkbox,这三个checkbox都有相同的name属性food[],相当于这三个checkbox是一组多选框,即可以实现多选功能。那么当我们选择了这三个多选框之后,php后台如何获取这三个checkbox的值呢?请继续看下面解答。

 

php 如何获取checkbox多选框的值

php获取checkbox多选框的值与其他表单元素一样,也是使用$_POST或$_GET, 不同的是,获取checkbox多选框的值是一个数组,数组里面存储有选中的值,如果我们要获取每个选中的值,需要变量这个数组。请看下面实例:

<html>
<head>
    < >Using Default Checkbox Values</ >
</head>
<body>
<?php
$food = $_GET[\"food\"];
if (!empty($food)){
    echo \"The foods selected are: <strong>\";
    foreach($food as $foodstuff){
        echo \'<br />\'.htmlentities($foodstuff);
    }
    echo \"</strong>.\";
}
else {
    echo (\'
    <form action=\"\'. htmlentities($_SERVER[\"PHP_SELF\"]).\'\" method=\"GET\">
        <fieldset>
            <label>
                Italian
                <input type=\"checkbox\" name=\"food[]\" value=\"Italian\" />
            </label>
            <label>
                Mexican
                <input type=\"checkbox\" name=\"food[]\" value=\"Mexican\" />
            </label>
            <label>
                Chinese
                <input type=\"checkbox\" name=\"food[]\" value=\"Chinese\" checked=\"checked\" />
            </label>
        </fieldset>
        <input type=\"submit\" value=\"Go!\" />
    </form> \');
    }
?>
</body>
</html>

本实例表单是提交给本页的,这里我们使用到了$_SERVER["PHP_SELF"], method="GET"表示以GET方式提交表表单,那么在php服务器端,我们就必须使用$_GET来获取表单元素的值。 $food = $_GET["food"]这句代码正是获取checkbox的值的,但这个值是数组,所以我们要使用foreach来变量这个数组,然后将checkbox选择的每个值获取到变量中。

收藏 打印