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 相关文章推荐
Apache+php+mysql在windows下的安装与配置图解(最新版)
Nov 30 PHP
php文件操作实例代码
May 10 PHP
使用session判断用户登录用户权限(超简单)
Jun 08 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 PHP
php获取数组元素中头一个数组元素值的实现方法
Dec 20 PHP
PHP遍历数组的方法汇总
Apr 30 PHP
PHP定时执行任务的3种方法详解
Dec 21 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
Mar 10 PHP
PHP简单实现记录网站访问量功能示例
Jun 06 PHP
PHP使用非对称加密算法RSA
Apr 21 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 遍历XP文件夹下所有文件
2008/11/27 PHP
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
PHP-redis中文文档介绍
2013/02/07 PHP
php和editplus正则表达式去除空白行
2015/04/17 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
在Laravel中实现使用AJAX动态刷新部分页面
2019/10/15 PHP
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
基于jQuery创建鼠标悬停效果的方法
2015/03/07 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
AngularJS中$watch和$timeout的使用示例
2016/09/20 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
JS实现普通轮播图特效
2020/01/01 Javascript
element中的$confirm的使用
2020/04/26 Javascript
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
在Python中的Django框架中进行字符串翻译
2015/07/27 Python
Python制作简单的网页爬虫
2015/11/22 Python
python 第三方库的安装及pip的使用详解
2017/05/11 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
int在python中的含义以及用法
2019/06/27 Python
Python操作qml对象过程详解
2019/09/26 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
CSS3 text-shadow实现文字阴影效果
2016/02/24 HTML / CSS
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
2015应届毕业生自荐信范文
2015/03/05 职场文书
nginx配置指令之server_name的具体使用
2022/08/14 Servers