在PHP中处理表单之—Checkbox
2016-04-09 16:54
1001 查看
原文翻译自:http://www.html-form-guide.com/php-form/php-form-checkbox.html
单个checkbox
形如:
如果`
如果该checkbox未被勾选,那么`
如下是PHP处理表单的方式:
isset方法可用于判定`formWheelchair`是否被勾选,如没有则返回false
checkbox组合
经常性的情况是多个checkbox,示例如下:
请注意checkbox有完全相同的名称,(formDoor[],也请注意每个名字以[]结尾),使用[]代表每一个被勾选的复选框的值组成一个数组在PHP中获取,$_POST[‘formDoor’]将返回一个有被勾选复选框的值组成的数组
举个列子,我勾选了所有复选框,
可见`empty()`可用于数组的判空,`count`用于数组计数
检查某一特定选项是否被check
来自StackOverflow的问答
If your HTML page looks like this:
After submitting the form you can check it with:
or
单个checkbox
形如:
<form action="checkbox-form.php" method="post"> Do you need wheelchair access? <input type="checkbox" name="formWheelchair" value="Yes" /> <input type="submit" name="formSubmit" value="Submit" /> </form>
如果`
$_POST['formWheelchair']`的值是"Yes",那么该checkbox被勾选
如果该checkbox未被勾选,那么`
$_POST['formWheelchair']`将不被设置
如下是PHP处理表单的方式:
<?php if(isset($_POST['formWheelchair']) && $_POST['formWheelchair'] == 'Yes') { echo "Need wheelchair access."; } else { echo "Do not Need wheelchair access."; } ?>
isset方法可用于判定`formWheelchair`是否被勾选,如没有则返回false
checkbox组合
经常性的情况是多个checkbox,示例如下:
<form action="checkbox-form.php" method="post"> Which buildings do you want access to?<br /> <input type="checkbox" name="formDoor[]" value="A" />Acorn Building<br /> <input type="checkbox" name="formDoor[]" value="B" />Brown Hall<br /> <input type="checkbox" name="formDoor[]" value="C" />Carnegie Complex<br /> <input type="checkbox" name="formDoor[]" value="D" />Drake Commons<br /> <input type="checkbox" name="formDoor[]" value="E" />Elliot House <input type="submit" name="formSubmit" value="Submit" /> </form>
请注意checkbox有完全相同的名称,(formDoor[],也请注意每个名字以[]结尾),使用[]代表每一个被勾选的复选框的值组成一个数组在PHP中获取,$_POST[‘formDoor’]将返回一个有被勾选复选框的值组成的数组
举个列子,我勾选了所有复选框,
$_POST['formDoor']将会返回{A,B,C,D,E}数组,下例是如何取出数组值并显示出来:
<?php $aDoor = $_POST['formDoor']; if(empty($aDoor)) { echo("You didn't select any buildings."); } else { $N = count($aDoor); echo("You selected $N door(s): "); for($i=0; $i < $N; $i++) { echo($aDoor[$i] . " "); } } ?>
可见`empty()`可用于数组的判空,`count`用于数组计数
检查某一特定选项是否被check
function IsChecked($chkname,$value) { if(!empty($_POST[$chkname])) { foreach($_POST[$chkname] as $chkval) { if($chkval == $value) { return true; } } } return false; }
来自StackOverflow的问答
If your HTML page looks like this:
<input type="checkbox" name="test" value="value1">
After submitting the form you can check it with:
isset($_POST['test'])
or
if ($_POST['test'] == 'value1') ...
相关文章推荐
- PHP Callback 回调类型
- PHP算法——生成唯一字符串
- php截取字符串
- php字符串处理函数大全
- php对uploads文件的处理问题的解决
- PHP substr()函数
- 常见的25个顶级PHP模板引擎
- php中header的用法详解
- vsftpd.conf:vsftpd配置文件
- php 中的伪静态
- SublimeText3 配置PHP开发插件
- PHP的多文件上传类
- PHP变量函数(可变函数)
- PHP的单文件上传类
- php之选择排序
- php冒泡排序
- php 中文字符串截取(转载)
- Ubuntu 14.04 FTP服务器--vsftpd的安装和配置
- php curl 提交 json 字符串
- 让PHP7达到最高性能的几个Tips