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 相关文章推荐
MySql 按时间段查询数据方法(实例说明)
Nov 02 PHP
php的ajax简单实例
Feb 27 PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
Dec 20 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
PHP的Yii框架中View视图的使用进阶
Mar 29 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
May 26 PHP
一个简单安全的PHP验证码类 附调用方法
Jun 24 PHP
超强多功能php绿色集成环境详解
Jan 25 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
Feb 15 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
Laravel框架路由设置与使用示例
Jun 12 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开发框架Laravel数据库操作方法总结
2014/09/03 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
document.open() 与 document.write()的区别
2007/08/13 Javascript
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
jQuery入门问答 整理的几个常见的初学者问题
2010/02/22 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
bootstrap suggest搜索建议插件使用详解
2017/03/25 Javascript
微信小程序 本地数据读取实例
2017/04/27 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
jQuery实现的简单手风琴效果示例
2018/08/29 jQuery
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
详解Vue调用手机相机和相册以及上传
2019/05/05 Javascript
react-router-dom 嵌套路由的实现
2020/05/02 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
在Python的Django框架中simple-todo工具的简单使用
2015/05/30 Python
Python同时处理多个异常的方法
2020/07/28 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
2013年保送生自荐信格式
2013/11/20 职场文书
优秀交警事迹材料
2014/01/26 职场文书
求职毕业生自荐书
2014/02/08 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
公司年会抽奖活动主持词
2014/03/31 职场文书
精神文明单位申报材料
2014/05/02 职场文书
年终工作总结范文
2019/06/20 职场文书
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
德劲DE1105机评
2022/04/05 无线电