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 xml实例 留言本
Mar 20 PHP
php5 apache 2.2 webservice 创建与配置(java)
Jan 27 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
PHP简单选择排序算法实例
Jan 26 PHP
PHP生成json和xml类型接口数据格式
May 17 PHP
利用PHP抓取百度阅读的方法示例
Dec 18 PHP
如何离线执行php任务
Feb 21 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
Jun 10 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
redis+php实现微博(三)微博列表功能详解
Sep 23 PHP
laravel框架学习笔记之组件化开发实现方法
Feb 01 PHP
php下的原生ajax请求用法实例分析
Feb 28 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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
php中二维数组排序问题方法详解
2015/08/28 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
客户端静态页面玩分页
2006/06/26 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
nodejs连接mysql数据库简单封装示例-mysql模块
2017/04/10 NodeJs
vue.js获取数据库数据实例代码
2017/05/26 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
JsonProperty 的使用方法详解
2019/10/11 Javascript
[38:39]完美世界DOTA2联赛循环赛 IO vs GXR BO2第二场 11.04
2020/11/05 DOTA
python使用新浪微博api上传图片到微博示例
2014/01/10 Python
python定时器使用示例分享
2014/02/16 Python
python根据日期返回星期几的方法
2015/07/06 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
如何用Python绘制3D柱形图
2020/09/16 Python
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
速比涛英国官网:Speedo英国
2019/07/15 全球购物
党校自我鉴定范文
2013/10/02 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
私人委托书格式
2014/09/10 职场文书
初三语文教学反思
2016/03/03 职场文书
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android