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蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
php fsockopen解决办法 php实现多线程
Jan 20 PHP
php无限遍历文件夹示例分享
Mar 04 PHP
ThinkPHP3.1之D方法实例详解
Jun 20 PHP
destoon设置自定义搜索的方法
Jun 21 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
yii 2.0中表单小部件的使用方法示例
May 23 PHP
PHP查询分页的实现代码
Jun 09 PHP
php二维数组按某个键值排序的实例讲解
Feb 15 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
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
2011/04/18 PHP
深入php var_dump()函数的详解
2013/06/05 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
2016/02/23 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
php 多文件上传的实现实例
2016/10/23 PHP
PHP foreach遍历多维数组实现方式
2016/11/16 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
javascript笔试题目附答案@20081025_jb51.net
2008/10/26 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
浅谈javascript 函数属性和方法
2015/01/21 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
js实现常用排序算法
2016/08/09 Javascript
jQuery easyui刷新当前tabs的方法
2016/09/23 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
2018/02/10 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
JS随机密码生成算法
2019/09/23 Javascript
vant 解决tab切换插件标题样式自定义的问题
2020/11/13 Javascript
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
python3+PyQt5实现柱状图
2018/04/24 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
Python跳出多重循环的方法示例
2019/07/03 Python
使用pandas读取文件的实现
2019/07/31 Python
详解matplotlib绘图样式(style)初探
2021/02/03 Python
Html5自定义字体解决方法
2019/10/09 HTML / CSS
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
家长会演讲稿范文
2014/01/10 职场文书
《口技》教学反思
2014/02/21 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
4s店活动策划方案
2014/08/25 职场文书
2015年建筑工作总结报告
2015/05/04 职场文书
导游词之湖州-太湖
2019/10/11 职场文书