PHP开发中常用的三个表单验证函数使用小结


Posted in PHP onMarch 03, 2010

ISSET();——适合于检测是否存在这个参数。

定义和作用范围:用于测试一个变量是否具有值(包括0,FALSE,或者一个空字串,但不能是NULL),即:“http://localhost/?fo=”也是可以通过检测,因此不适用。但如果是“http://localhost/”参数中并不含fo参数,就可以用isset来检测,此时isset($_GET['fo'])返回false。

不适用于:该函数不适合于验证html表单中的文本的有效方式。要检查用户输入文本是否有效,可以用empty();

empty();——最好用的一个函数。

定义和作用范围:用于检查变量是否具有空值:包括:空字串,0,null 或false,即:“http://localhost/?fo=”或“http://localhost/?fo=0”时,empty检测出来的结果都是ture,不适用范围:不适用于检测可为0的参数。

is_numeric();——只适用于检测数字,但假如参数名不存在,会出错,因此不适合于第一层检测。

综合示例:

<?php 
ini_set("display_errors",1); 
//ini_set("error_reporting",E_ALL); print_r 
error_reporting(E_ALL); $a=NULL; 
if(isset($a))echo '变量$a的isset为真'; 
echo '<h2>isset的情形:</h2>'; 
if(isset($_GET['fo'])){ 
echo '变量\'fo\'的isset为真,变量可用'; 
}else{ 
echo '变量\'fo\'的isset为假,无变量设置'; 
} 
echo '<h2>empty的情形:</h2>'; 
if(empty($_GET['fo'])){ 
echo '变量\'fo\'的empty为真,即空值或无效值'; 
}else{ 
echo '变量\'fo\'的empty为假,有值'; 
} 
echo '<h2>is_numeric的情形:</h2>'; 
if(is_numeric($_GET['fo'])){ //在参数中无fo参数时,则出错。 
echo '变量\'fo\'的is_numeric为真,是数字'; 
}else{ 
echo '变量\'fo\'的is_numeric为假,不是数字'; 
} 
echo "<h2>\$_GET['fo']=''的情形:</h2>"; 
if($_GET['fo']==''){ //在参数中无fo参数时,则出错。 
echo 'fo无值,空的字符串'; 
}elseif($_GET['fo']!=''){ 
echo 'fo有值,不为\'\'.'; 
} 
echo "<h2>\$_GET['sex']='m'的情形:</h2>"; 
if($_GET['sex']=='m'){ //当参数中无sex变量时就会出错。 
echo '男的'; 
}elseif($_GET['sex']=='f'){ 
echo '女的'; 
} 
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>无标题文档</title> 
</head> 
<body> 
</body> 
<p> 
<a href="?fo=Jack">传有效值</a> <a href="?fo=">传空值</a> <a href="?fo=0">传0值</a> 
<br /><br /> 
<a href="?sex=m">性别:男</a> <a href="?sex=f">性别:女</a> 
<br /><br /> 
<a href="/">清空</a> 
<br /><br /> 
<input type="text" value="<?php echo $_GET['fo']!=''?$_GET['fo']:'';?>" size="155" /> </p> 
</html>
PHP 相关文章推荐
php面向对象全攻略 (一) 面向对象基础知识
Sep 30 PHP
PHP学习之字符串比较和查找
Apr 17 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
Jul 18 PHP
shopex中集成的站长统计功能的代码简单分析
Aug 11 PHP
PHP取进制余数函数代码
Jan 19 PHP
Youku 视频绝对地址获取的方法详解
Jun 26 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
Apr 28 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
Jan 05 PHP
CodeIgniter常用知识点小结
May 26 PHP
php 解决扫描二维码下载跳转问题
Jan 13 PHP
Laravel中的chunk组块结果集处理与注意问题
Aug 15 PHP
PHP 引用文件技巧
Mar 02 #PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 #PHP
PHP set_time_limit(0)长连接的实现分析
Mar 02 #PHP
PHP clearstatcache()函数详解
Mar 02 #PHP
PHP strtok()函数的优点分析
Mar 02 #PHP
关于PHP5 Session生命周期介绍
Mar 02 #PHP
PHP正则的Unknown Modifier错误解决方法
Mar 02 #PHP
You might like
用PHP生成自己的LOG文件
2006/10/09 PHP
destoon复制新模块的方法
2014/06/21 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
深入浅析Yii admin的权限控制
2016/08/31 PHP
PHP面向对象程序设计之类与反射API详解
2016/12/02 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
javascript 多级checkbox选择效果
2009/08/20 Javascript
js实现的仿新浪微博完美的时间组件升级版
2011/12/20 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
offsetHeight在OnLoad中获取为0的现象
2013/07/22 Javascript
JS获取url链接字符串 location.href
2013/12/23 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
NodeJs之word文件生成与解析的实现代码
2019/04/01 NodeJs
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
python中文编码问题小结
2014/09/28 Python
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
python怎么自定义捕获错误
2020/06/29 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
StringBuilder和String的区别
2015/05/18 面试题
高级文秘工作总结的自我评价
2013/09/28 职场文书
编辑硕士自荐信范文
2013/11/27 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
PyTorch dropout设置训练和测试模式的实现
2021/05/27 Python
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL