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实现ODBC数据分页显示一例
Oct 09 PHP
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
通过table标签,PHP输出EXCEL的实现方法
Jul 24 PHP
php实现图片添加水印功能
Feb 13 PHP
PHP中执行cmd命令的方法
Oct 11 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
Dec 25 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 PHP
php in_array() 检查数组中是否存在某个值详解
Nov 23 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
PHP实现的折半查询算法示例
Oct 09 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
php面向对象基础详解【星际争霸游戏案例】
Jan 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
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
2006/10/09 PHP
php环境下利用session防止页面重复刷新的具体实现
2014/01/09 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
基于PHP实现数据分页显示功能
2016/05/26 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
js中常用的Math方法总结
2017/01/12 Javascript
vue 计时器组件的实现代码
2017/09/14 Javascript
vue实现密码显示隐藏切换功能
2018/02/23 Javascript
详解Vue 动态组件与全局事件绑定总结
2018/11/11 Javascript
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
linux系统使用python获取cpu信息脚本分享
2014/01/15 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
Python操作json的方法实例分析
2018/12/06 Python
python tkinter组件摆放方式详解
2019/09/16 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
python中str内置函数用法总结
2020/12/27 Python
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
在线购买世界上最好的酒:BoozeBud
2018/06/07 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
商务日语专业毕业生求职信
2013/10/26 职场文书
计算机专业职业生涯规划范文
2014/01/19 职场文书
开业主持词
2014/03/21 职场文书
英文求职信范文
2014/05/23 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
2014年高二班主任工作总结
2014/12/16 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
2016教师节感恩话语
2015/12/09 职场文书