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中判断一个字符串包含另一个字符串的方法
Mar 19 PHP
PHP常用函数小技巧
Sep 11 PHP
PHP+JS+rsa数据加密传输实现代码
Mar 23 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
PHP面向对象教程之自定义类
Jun 10 PHP
PHP实现文件下载断点续传详解
Oct 15 PHP
php实现用于验证所有类型的信用卡类
Mar 24 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
PHP Yii框架之表单验证规则大全
Nov 16 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
PHP删除数组中特定元素的两种方法
Feb 28 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
May 26 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
php cli 小技巧
2013/06/03 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
Prototype Hash对象 学习
2009/07/19 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
jquery实现类似淘宝星星评分功能实例
2014/09/12 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
jQuery打字效果实现方法(附demo源码下载)
2015/12/18 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
JS库中的Particles.js在vue上的运用案例分析
2017/09/13 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
ES6学习笔记之map、set与数组、对象的对比
2018/03/01 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
Python下载网络小说实例代码
2018/02/03 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
python中的变量如何开辟内存
2018/06/26 Python
使用python脚本实现查询火车票工具
2018/07/19 Python
用于业余项目的8个优秀Python库
2018/09/21 Python
python3实现单目标粒子群算法
2019/11/14 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
实例讲解利用HTML5 Canvas API操作图形旋转的方法
2016/03/22 HTML / CSS
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
大学生的网上创业计划书
2013/12/31 职场文书
《要下雨了》教学反思
2014/02/17 职场文书
学生安全责任书模板
2014/07/25 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
预备党员群众意见
2015/06/01 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
Python字符串常规操作小结
2022/04/03 Python
python处理json数据文件
2022/04/11 Python