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的FTP学习(二)
Oct 09 PHP
第五节--克隆
Nov 16 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
CI框架自动加载session出现报错的解决办法
Jun 17 PHP
PHP实现多图片上传类实例
Jul 26 PHP
使用PHP实现阻止用户上传成人照片或者裸照
Dec 25 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
May 12 PHP
php事件驱动化设计详解
Nov 10 PHP
ThinkPHP 5.x远程命令执行漏洞复现
Sep 23 PHP
PHP程序员必须知道的两种日志实例分析
May 14 PHP
PHP 超级全局变量相关总结
Jun 30 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 Mysql编程之高级技巧
2008/08/27 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
js利用div背景,做一个竖线的效果。
2008/11/22 Javascript
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
React Native使用百度Echarts显示图表的示例代码
2017/11/07 Javascript
vue实现重置表单信息为空的方法
2018/09/29 Javascript
优雅地使用loading(推荐)
2019/04/20 Javascript
Python3实现连接SQLite数据库的方法
2014/08/23 Python
python通过ftplib登录到ftp服务器的方法
2015/05/08 Python
Python3读取UTF-8文件及统计文件行数的方法
2015/05/22 Python
python xml解析实例详解
2016/11/14 Python
python 实现自动远程登陆scp文件实例代码
2017/03/13 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
django小技巧之html模板中调用对象属性或对象的方法
2018/11/30 Python
python关闭占用端口方式
2019/12/17 Python
Python如何使用bokeh包和geojson数据绘制地图
2020/03/21 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
2020/06/18 Python
Python高并发解决方案实现过程详解
2020/07/31 Python
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
欧洲最大的拼图游戏商店:JigsawPuzzle.co.uk
2018/07/04 全球购物
计算机软件个人的自荐信范文
2013/12/01 职场文书
大学生职业生涯规划书模板
2014/01/18 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
初中学习计划书范文
2014/09/15 职场文书
房地产财务经理岗位职责
2015/04/08 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
2016年感恩教师节活动总结
2016/04/01 职场文书
Python进程池与进程锁之语法学习
2022/04/11 Python