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 相关文章推荐
Zend Studio (eclipse)使用速度优化方法
Mar 23 PHP
php 搜索框提示(自动完成)实例代码
Feb 05 PHP
5种PHP创建数组的实例代码分享
Jan 17 PHP
一个经典的PHP文件上传类分享
Nov 18 PHP
Sublime里直接运行PHP配置方法
Nov 28 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
Sep 14 PHP
PHP+AJAX实现投票功能的方法
Sep 28 PHP
深入解析PHP中foreach语句控制数组循环的用法
Nov 30 PHP
Yii视图CGridView实现操作按钮定义地址示例
Jul 14 PHP
PHP实现简易blog的制作
Oct 24 PHP
php 截取utf-8格式的字符串实例代码
Oct 30 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
Dec 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
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
在IE下:float属性会影响offsetTop的取值
2006/12/22 Javascript
Ajax::prototype 源码解读
2007/01/22 Javascript
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
JavaScript 加号(+)运算符号
2009/12/06 Javascript
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
2011/03/12 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
javaScript语法总结
2016/11/25 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
python读写文件write和flush的实现方式
2020/02/21 Python
python 发送get请求接口详解
2020/11/17 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
迪奥美国官网:Dior美国
2019/12/07 全球购物
安全标语口号
2014/06/09 职场文书
药店促销活动总结
2014/07/10 职场文书
旅行社优秀创业计划书
2014/08/16 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
关于运动会的广播稿
2014/09/22 职场文书
个人党性分析材料
2014/12/19 职场文书
敬业奉献模范事迹材料
2014/12/24 职场文书
礼貌问候语大全
2015/11/10 职场文书
Python离线安装openpyxl模块的步骤
2021/03/30 Python