PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法


Posted in PHP onAugust 22, 2011

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读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
Nov 18 PHP
ecshop实现smtp发送邮件
Feb 03 PHP
老版本PHP转义Json里的特殊字符的函数
Jun 08 PHP
linux下为php添加iconv模块的方法
Feb 28 PHP
yii2缓存Caching基本用法示例
Jul 18 PHP
PHP中file_put_contents追加和换行的实现方法
Apr 01 PHP
浅谈thinkphp5 instance 的简单实现
Jul 30 PHP
php+Ajax无刷新验证用户名操作实例详解
Mar 04 PHP
基于laravel缓冲cache的用法详解
Oct 23 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
Aug 18 #PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 #PHP
11个PHP 分页脚本推荐
Aug 15 #PHP
PHP版国家代码、缩写查询函数代码
Aug 14 #PHP
PHP动态创建Web站点的方法
Aug 14 #PHP
php程序的国际化实现方法(利用gettext)
Aug 14 #PHP
PHP排序之二维数组的按照字母排序实现代码
Aug 13 #PHP
You might like
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
JS 的应用开发初探(mootools)
2009/12/19 Javascript
javascript的tab切换原理与效果实现方法
2015/01/10 Javascript
纯js代码实现简单计算器
2015/12/02 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
python executemany的使用及注意事项
2017/03/13 Python
python中is与双等于号“==”的区别示例详解
2017/11/21 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
python实现微信防撤回神器
2019/04/29 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
python交易记录链的实现过程详解
2019/07/03 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
Michael Kors英国官网:美国奢侈品品牌
2019/11/13 全球购物
怎样有效的进行自我评价
2013/10/06 职场文书
面试必备的求职信
2014/05/25 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
个人工作决心书
2015/09/22 职场文书
ConditionalOnProperty配置swagger不生效问题及解决
2022/06/14 Java/Android