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和ACCESS写聊天室(二)
Oct 09 PHP
php中常用编辑器推荐
Jan 02 PHP
PHP教程 预定义变量
Oct 23 PHP
php skymvc 一款轻量、简单的php
Jun 28 PHP
Ajax+PHP快速上手及简单应用说明
Jul 24 PHP
php数组键值用法实例分析
Feb 27 PHP
基于PHP实现等比压缩图片大小
Mar 04 PHP
Symfony2学习笔记之控制器用法详解
Mar 17 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 PHP
浅谈php://filter的妙用
Mar 05 PHP
PHP扩展安装方法步骤解析
Nov 24 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 分页分组类
2009/12/10 PHP
PHP 基本语法格式
2009/12/15 PHP
php实现session自定义会话处理器的方法
2015/01/27 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
2013/05/03 Javascript
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
利用CSS3在Angular中实现动画
2016/01/15 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
使用layui的router来进行传参的实现方法
2019/09/06 Javascript
python删除文件示例分享
2014/01/28 Python
如何使用python爬取csdn博客访问量
2016/02/14 Python
Ubuntu下创建虚拟独立的Python环境全过程
2017/02/10 Python
python实现发送邮件功能代码
2017/12/14 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
Python实现的微信好友数据分析功能示例
2018/06/21 Python
浅述python中深浅拷贝原理
2018/09/18 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
python Django的web开发实例(入门)
2019/07/31 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
使用Python实现 学生学籍管理系统
2019/11/26 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
奥巴马的演讲稿
2014/05/15 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
2015年毕业生自我鉴定模板
2014/09/19 职场文书
幼儿园新学期开学寄语
2015/05/27 职场文书
思想工作总结范文
2015/08/12 职场文书
MySQL提升大量数据查询效率的优化神器
2022/07/07 MySQL