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 09 PHP
php内核解析:PHP中的哈希表
Jan 30 PHP
使用swoole扩展php websocket示例
Feb 13 PHP
PHP的pcntl多进程用法实例
Mar 19 PHP
php实现用于验证所有类型的信用卡类
Mar 24 PHP
PHP性能分析工具XHProf安装使用教程
May 13 PHP
PHP单例模式详细介绍
Jul 01 PHP
PHP生成各种常见验证码和Ajax验证过程
Jan 10 PHP
Thinkphp框架开发移动端接口(2)
Aug 18 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
Aug 17 PHP
php简单读取.vcf格式文件的方法示例
Sep 02 PHP
PHP 8新特性简介
Aug 18 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
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
php中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
JS效率个人经验谈(8-15更新),加入range技巧
2007/01/09 Javascript
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
刷新页面的几种方法小结(JS,ASP.NET)
2014/01/07 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
jQuery表格插件datatables用法详解
2020/11/23 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
2016/05/10 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
Node.JS获取GET,POST数据之queryString模块使用方法详解
2020/02/06 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
python实现给字典添加条目的方法
2014/09/25 Python
python脚本实现xls(xlsx)转成csv
2016/04/10 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
django框架基于模板 生成 excel(xls) 文件操作示例
2019/06/19 Python
利用python进行文件操作
2020/12/04 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
CSS3实现swap交换动画
2016/01/19 HTML / CSS
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
HTML5 3D书本翻页动画的实现示例
2019/08/28 HTML / CSS
环境科学专业优秀毕业生自荐书
2014/02/03 职场文书
《称象》教学反思
2014/04/25 职场文书
员工合理化建议书
2014/05/19 职场文书
2014年残疾人工作总结
2014/12/06 职场文书
任命书标准格式
2015/03/02 职场文书
新员工试用期自我评价
2015/03/10 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书