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读注册表
Oct 09 PHP
用PHP连mysql和oracle数据库性能比较
Oct 09 PHP
php目录操作函数之获取目录与文件的类型
Dec 29 PHP
codeigniter使用技巧批量插入数据实例方法分享
Dec 31 PHP
PHP 5.3新增魔术方法__invoke概述
Jul 23 PHP
本地计算机无法启动Apache故障处理
Aug 08 PHP
php使用PDO方法详解
Dec 27 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 PHP
PHP精确计算功能示例
Nov 29 PHP
php中file_get_contents()函数用法实例
Feb 21 PHP
PHP7创建销毁session的实例方法
Feb 03 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脚本数据库功能详解(下)
2006/10/09 PHP
一步一步学习PHP(1) php开发环境配置
2010/02/15 PHP
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
php中文字符串截取多种方法汇总
2016/10/06 PHP
php批量删除操作代码分享
2017/02/26 PHP
扩展String功能方法
2006/09/22 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
javascript常见操作汇总
2014/09/03 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
javascript 闭包详解
2015/02/15 Javascript
jquery获取节点名称
2015/04/26 Javascript
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
在Vue组件中获取全局的点击事件方法
2018/09/06 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
python使用PyGame播放Midi和Mp3文件的方法
2015/04/24 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
python使用turtle库绘制时钟
2020/03/25 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
Python中的 sort 和 sorted的用法与区别
2019/08/10 Python
python实现文件的分割与合并
2019/08/29 Python
Python新建项目自动添加介绍和utf-8编码的方法
2020/12/26 Python
介绍一下mysql的日期和时间函数
2013/03/28 面试题
卫校中专生个人自我评价
2013/09/19 职场文书
幼儿园数学教学反思
2014/02/02 职场文书
亲子读书活动方案
2014/02/22 职场文书
统计系教授推荐信
2014/02/28 职场文书
个人承诺书格式范文
2015/04/29 职场文书
工作表现证明
2015/06/15 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书