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 编写的 25个游戏脚本
May 11 PHP
php ss7.5的数据调用 (笔记)
Mar 08 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 PHP
php对文件进行hash运算的方法
Apr 03 PHP
php编写简单的文章发布程序
Jun 18 PHP
PHP生成唯一订单号
Jul 05 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
Nov 16 PHP
php实现图片上传、剪切功能
May 07 PHP
PHP设置images目录不充许http访问的方法
Nov 01 PHP
php导出csv文件,可导出前导0实例代码
Nov 16 PHP
php对微信支付回调处理的方法
Aug 23 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 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 print EOF实现方法
2009/05/21 PHP
火车头discuz6.1 完美采集的php接口文件
2009/09/13 PHP
php mail to 配置详解
2014/01/16 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
2011/03/30 Javascript
最简单的js图片切换效果实现代码
2011/09/24 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
2011/11/04 Javascript
JSON辅助格式化处理方法
2013/03/26 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
JavaScript中双叹号!!作用示例介绍
2014/09/21 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
2015/06/19 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
vue-router 手势滑动触发返回功能
2018/09/30 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
2019/01/16 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
DataReader和DataSet的异同
2014/12/31 面试题
文秘应聘自荐书范文
2014/02/18 职场文书
古汉语文学求职信范文
2014/03/16 职场文书
成绩单公证书
2014/04/10 职场文书
领导干部对照检查材料
2014/08/24 职场文书
六查六看自检自查剖析材料
2014/10/14 职场文书
幼儿园大班教师评语
2019/06/21 职场文书
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers