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 相关文章推荐
模仿OSO的论坛(一)
Oct 09 PHP
经典的PHPer为什么被认为是草根?
Apr 02 PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
PHP的简易冒泡法代码分享
Aug 28 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
Jun 25 PHP
php数组生成html下拉列表的方法
Jul 20 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
Aug 17 PHP
PHP正则表达式过滤html标签属性(DEMO)
May 04 PHP
php上传图片类及用法示例
May 11 PHP
php双层循环(九九乘法表)
Oct 23 PHP
PHP 获取客户端 IP 地址的方法实例代码
Nov 11 PHP
php中加密解密DES类的简单使用方法示例
Mar 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
php生成EXCEL的东东
2006/10/09 PHP
php数字转汉字代码(算法)
2011/10/08 PHP
php命名空间学习详解
2014/02/27 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
linux下编译安装memcached服务
2014/08/03 PHP
php将金额数字转化为中文大写
2015/07/09 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
php redis实现文章发布系统(用户投票系统)
2017/03/04 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
javascript 写类方式之六
2009/07/05 Javascript
Javascript var变量隐式声明方法
2009/10/19 Javascript
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
vue2 自定义动态组件所遇到的问题
2017/06/08 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
es6数值的扩展方法
2019/03/11 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
[45:06]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第二场 11.28
2020/12/02 DOTA
python根据时间生成mongodb的ObjectId的方法
2015/03/13 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
高中毕业自我鉴定
2013/12/16 职场文书
投标邀请书范文
2014/01/31 职场文书
股东出资证明书范例
2014/10/04 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书