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 相关文章推荐
Windows下的PHP5.0安装配制详解
Sep 05 PHP
九个你必须知道而且又很好用的php函数和特点
Aug 08 PHP
php判断GIF图片是否为动画的方法
Sep 04 PHP
帝国cms目录结构分享
Jul 06 PHP
PHP数组去重比较快的实现方式
Jan 19 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
symfony2.4的twig中date用法分析
Mar 18 PHP
php实现生成验证码实例分享
Apr 10 PHP
php实现转换html格式为文本格式的方法
May 16 PHP
PHP实现权限管理功能示例
Sep 22 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
php的命名空间与自动加载实现方法
Aug 25 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
什么是短波收听SWL
2021/03/01 无线电
php中常用编辑器推荐
2007/01/02 PHP
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/29 PHP
深入分析php中接口与抽象类的区别
2013/06/08 PHP
PHP的password_hash()使用实例
2014/03/17 PHP
完美实现wordpress禁止文章修订和自动保存的方法
2014/11/03 PHP
PHP简单生成缩略图相册的方法
2015/07/29 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
用JavaScript 处理 URL 的两个函数代码
2007/08/13 Javascript
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
一个简单的网站访问JS计数器 刷新1次加1次访问
2012/09/20 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
javascript实现按回车键切换焦点
2015/02/09 Javascript
JavaScript中的函数模式详解
2015/02/11 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
slideToggle+slideup实现手机端折叠菜单效果
2017/05/25 Javascript
vue中axios解决跨域问题和拦截器的使用方法
2018/03/07 Javascript
nodejs基础之常用工具模块util用法分析
2018/12/26 NodeJs
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
Vue3.0中的monorepo管理模式的实现
2019/10/14 Javascript
python中urllib模块用法实例详解
2014/11/19 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
python属于解释语言吗
2020/06/11 Python
Linux面试题LINUX系统类
2015/11/25 面试题
农民工工资发放承诺书
2014/03/31 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
单位证明范文
2015/06/18 职场文书
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技