PHP开发中常用的三个表单验证函数使用小结


Posted in PHP onMarch 03, 2010

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 相关文章推荐
打造计数器DIY三步曲(上)
Oct 09 PHP
一步一步学习PHP(2)――PHP类型
Feb 15 PHP
php 上传功能实例代码
Apr 13 PHP
PHP URL地址获取函数代码(端口等) 推荐
May 15 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
Jun 26 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
Jul 12 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 PHP
Zend Framework前端控制器用法示例
Dec 11 PHP
php-app开发接口加密详解
Apr 18 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 PHP
php中使用array_filter()函数过滤数组实例讲解
Mar 03 PHP
PHP 引用文件技巧
Mar 02 #PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 #PHP
PHP set_time_limit(0)长连接的实现分析
Mar 02 #PHP
PHP clearstatcache()函数详解
Mar 02 #PHP
PHP strtok()函数的优点分析
Mar 02 #PHP
关于PHP5 Session生命周期介绍
Mar 02 #PHP
PHP正则的Unknown Modifier错误解决方法
Mar 02 #PHP
You might like
用PHP4访问Oracle815
2006/10/09 PHP
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
PHP 实现重载
2021/03/09 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
Javascript实现简单二级下拉菜单实例
2014/06/15 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
javascript作用域、作用域链(菜鸟必看)
2016/06/16 Javascript
JS获取一个未知DIV高度的方法
2016/08/09 Javascript
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
vue 解决data中定义图片相对路径页面不显示的问题
2020/08/13 Javascript
Python算法之栈(stack)的实现
2014/08/18 Python
理解Python垃圾回收机制
2016/02/12 Python
安装python时MySQLdb报错的问题描述及解决方法
2018/03/20 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
python为什么要安装到c盘
2020/07/20 Python
英国珠宝和手表专家:Pleasance & Harper
2020/10/21 全球购物
简历自我评价怎么写呢?
2014/01/06 职场文书
四年大学自我鉴定
2014/02/17 职场文书
服务理念标语
2014/06/18 职场文书
年会主持人开场白台词
2015/05/29 职场文书