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 SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
php记录代码执行时间(实现代码)
Jul 05 PHP
你可能不知道PHP get_meta_tags()函数
May 12 PHP
php基于mcrypt的加密解密实例
Oct 27 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
Apr 08 PHP
PHP设计模式之适配器模式代码实例
May 11 PHP
Laravel中Trait的用法实例详解
Mar 16 PHP
Symfony实现行为和模板中取得request参数的方法
Mar 17 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
Jul 03 PHP
php 数据结构之链表队列
Oct 17 PHP
实例讲解php实现多线程
Jan 27 PHP
php+ajax 文件上传代码实例
Mar 18 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 5.0对象模型深度探索之对象复制
2008/03/27 PHP
php Imagick获取图片RGB颜色值
2014/07/28 PHP
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
jquery星级插件、支持页面中多次使用
2012/03/25 Javascript
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
jQuery弹出(alert)select选择的值
2013/04/21 Javascript
jQuery自适应轮播图插件Swiper用法示例
2016/08/24 Javascript
vue获取input输入值的问题解决办法
2017/10/17 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
vue 页面回退mounted函数不执行的解决方案
2020/07/26 Javascript
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
利用python实现对web服务器的目录探测的方法
2019/02/26 Python
详解python之heapq模块及排序操作
2019/04/04 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
解决运行出现'dict' object has no attribute 'has_key'问题
2020/07/15 Python
python 实现端口扫描工具
2020/12/18 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
美国乡村商店:Plow & Hearth
2016/09/12 全球购物
Maje德国官网:法国女性成衣品牌
2017/02/10 全球购物
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
测绘工程个人的自我评价
2013/11/10 职场文书
三年级学生评语
2014/04/23 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
班子四风对照检查材料
2014/08/21 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
出纳试用期自我评价
2015/03/10 职场文书
PHP命令行与定时任务
2021/04/01 PHP