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 相关文章推荐
php 运行效率总结(提示程序速度)
Nov 26 PHP
腾讯QQ php程序员面试题目整理
Jun 08 PHP
PHP面向对象概念
Nov 06 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
Jun 05 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
Feb 02 PHP
php不使用copy()函数复制文件的方法
Mar 13 PHP
PHP的文件操作与算法实现的面试题示例
Aug 10 PHP
PHP微信开发之查询城市天气
Jun 23 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
Jan 21 PHP
THINKPHP3.2使用soap连接webservice的解决方法
Dec 13 PHP
PHP PDOStatement::fetchAll讲解
Jan 31 PHP
php的instanceof和判断闭包Closure操作示例
Jan 26 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
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
js截取函数(indexOf,join等)
2010/09/01 Javascript
multiSteps 基于Jquery的多步骤滑动切换插件
2011/07/22 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
详解jQuery的表单验证插件--Validation
2016/12/21 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
聊聊Vue 中 title 的动态修改问题
2019/06/11 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
vue封装swiper代码实例解析
2019/10/08 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
JavaScript鼠标拖拽事件详解
2020/04/03 Javascript
JavaScript实现HSL拾色器
2020/05/21 Javascript
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
Python2.7读取PDF文件的方法示例
2017/07/13 Python
django框架实现模板中获取request 的各种信息示例
2019/07/01 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
把富文本的回车转为br标签
2019/08/09 HTML / CSS
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
一份软件工程师的面试试题
2016/02/01 面试题
优秀广告词大全
2014/03/19 职场文书
作风整顿剖析材料
2014/09/30 职场文书
企业催款函范本
2015/06/24 职场文书
社区结对共建协议书
2016/03/23 职场文书
关于MySQL中的 like操作符详情
2021/11/17 MySQL
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS