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本地服务器分享
Feb 19 PHP
深入extjs与php参数交互的详解
Jun 25 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
Feb 02 PHP
php实现读取超大文件的方法
Jul 28 PHP
11个PHPer必须要了解的编程规范
Sep 22 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
Mar 26 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
May 13 PHP
PHP中类的继承和用法实例分析
May 24 PHP
浅谈php中的循环while、do...while、for、foreach四种循环
Nov 05 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
PHP7.3.10编译安装教程
Oct 08 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
Apr 14 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
smarty的保留变量问题
2008/10/23 PHP
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
深入探讨<br />和 \r\n两者有什么区别??
2013/06/05 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
初学Javascript的一些总结
2008/11/03 Javascript
学习ExtJS accordion布局
2009/10/08 Javascript
分享几个超级震憾的图片特效
2012/01/08 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
2019/09/19 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
css3进行截取替代js的substring
2013/09/02 HTML / CSS
Levi’s美国官网:美国著名的牛仔裤品牌
2016/08/19 全球购物
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
个人简历中的自我评价范例
2013/10/29 职场文书
老干部工作先进事迹
2014/08/17 职场文书
健康状况证明书
2014/11/26 职场文书
技术支持岗位职责
2015/02/13 职场文书
JavaScript实例 ODO List分析
2022/01/22 Javascript