PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法


Posted in PHP onAugust 22, 2011

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 多进程 解决难题
Jun 22 PHP
PHP项目开发中最常用的自定义函数整理
Dec 02 PHP
7个超级实用的PHP代码片段
Jul 11 PHP
关于PHP实现异步操作的研究
Feb 03 PHP
PHP数据类型之整数类型、浮点数的介绍
Apr 28 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
Nov 19 PHP
Yii的CDbCriteria查询条件用法实例
Dec 04 PHP
编写PHP脚本过滤用户上传的图片
Jul 03 PHP
php微信开发之上传临时素材
Jun 24 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
May 29 PHP
详解php中的implements 使用
Jun 13 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
Jun 04 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
Aug 18 #PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 #PHP
11个PHP 分页脚本推荐
Aug 15 #PHP
PHP版国家代码、缩写查询函数代码
Aug 14 #PHP
PHP动态创建Web站点的方法
Aug 14 #PHP
php程序的国际化实现方法(利用gettext)
Aug 14 #PHP
PHP排序之二维数组的按照字母排序实现代码
Aug 13 #PHP
You might like
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
新浪SAE云平台下使用codeigniter的数据库配置
2014/06/12 PHP
PHP结合Mysql数据库实现留言板功能
2016/03/04 PHP
jquery 上下滚动广告
2009/06/17 Javascript
JavaScript中null与undefined分析
2009/07/25 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
2013/01/24 Javascript
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
jQuery仿gmail实现fixed布局的方法
2015/05/27 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
jquery+ajax请求且带返回值的代码
2015/08/12 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
微信小程序对接七牛云存储的方法
2017/07/30 Javascript
使用electron将vue-cli项目打包成exe的方法
2018/09/29 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
ant design实现圈选功能
2019/12/17 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
[00:36]DOTA2上海特级锦标赛 Alliance战队宣传片
2016/03/04 DOTA
python PrettyTable模块的安装与简单应用
2019/01/11 Python
分析运行中的 Python 进程详细解析
2019/06/22 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
临床医学大学生求职信
2013/09/28 职场文书
抄作业检讨书
2014/02/17 职场文书
机械制造专业毕业生求职信
2014/03/02 职场文书
创建学习型党组织实施方案
2014/03/29 职场文书
广告学专业求职信
2014/06/19 职场文书
音乐教师求职信
2014/06/28 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python