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 相关文章推荐
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
Sep 24 PHP
php中文字母数字验证码实现代码
Apr 25 PHP
PHP Memcached应用实现代码
Feb 08 PHP
php file_get_contents函数轻松采集html数据
Apr 22 PHP
解析PHP实现多进程并行执行脚本
Jun 18 PHP
解析thinkphp中的导入文件标签
Jun 20 PHP
PHP常用正则表达式集锦
Aug 17 PHP
Chrome Web App开发小结
Sep 04 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
Feb 14 PHP
ThinkPHP框架里隐藏index.php
Apr 12 PHP
mac os快速切换多个PHP版本的方法
Mar 07 PHP
thinkphp整合系列之极验滑动验证码geetest功能
Jun 18 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 5.3新特性命名空间规则解析及高级功能
2010/03/11 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
PHP isset()与empty()的使用区别详解
2017/02/10 PHP
Laravel框架查询构造器简单示例
2019/05/08 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
node中的密码安全(加密)
2018/09/17 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
uniapp微信小程序实现一个页面多个倒计时
2020/11/01 Javascript
Pycharm学习教程(1) 定制外观
2017/05/02 Python
Mac 上切换Python多版本
2017/06/17 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
python解析多层json操作示例
2019/12/30 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
新西兰最大的连锁超市:Countdown
2020/06/04 全球购物
巡警年度自我鉴定
2014/02/21 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
指导教师推荐意见
2015/06/05 职场文书
导游词之山东红叶谷
2019/10/31 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python