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

 更新时间:2011年08月22日 22:03:04   作者:  
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法分享,学习php的朋友可以参考下。
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字符串截取的简单方法

    这篇文章介绍了php字符串截取的简单方法,有需要的朋友可以参考一下
    2013-07-07
  • PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)

    PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)

    这篇文章主要介绍了PHP入门教程之数组用法,结合大量实例总结分析了php关于数组的创建、打印、遍历、获取、排序、插入、删除等常见操作技巧,需要的朋友可以参考下
    2016-09-09
  • php实现图片局部打马赛克的方法

    php实现图片局部打马赛克的方法

    这篇文章主要介绍了php实现图片局部打马赛克的方法,实例分析了php针对图片操作的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • PHP中for循环与foreach的区别

    PHP中for循环与foreach的区别

    本文主要介绍了php中for循环与foreach的区别,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • 用php获取远程图片并把它保存到本地的代码

    用php获取远程图片并把它保存到本地的代码

    Function: 获取远程图片并把它保存到本地 确定您有把文件写入本地服务器的权限变量说明: $url 是远程图片的完整URL地址,不能为空。 $filename 是可选变量: 如果为空,本地文件名将基于时间和日期 自动生成.
    2008-04-04
  • php 验证码制作(网树注释思想)

    php 验证码制作(网树注释思想)

    php 验证码制作原理分析。
    2009-07-07
  • PHP中auto_prepend_file与auto_append_file用法实例分析

    PHP中auto_prepend_file与auto_append_file用法实例分析

    这篇文章主要介绍了PHP中auto_prepend_file与auto_append_file用法,较为详细的讲述了配置信息的休息以及函数的用法和注意事项,需要的朋友可以参考下
    2014-09-09
  • PHP json_encode中文乱码问题的解决办法

    PHP json_encode中文乱码问题的解决办法

    这篇文章介绍了PHP json_encode中文乱码问题的解决办法,有需要的朋友可以参考一下
    2013-09-09
  • PHP Token(令牌)设计

    PHP Token(令牌)设计

    PHP Token(令牌)设计 设计目标: 避免重复提交数据. 检查来路,是否是外部提交 匹配要执行的动作(如果有多个逻辑在同一个页面实现,比如新增,删除,修改放到一个PHP文件里操作) 这里所说的token是在页面显示的时候,写到FORM的一个隐藏表单项(type=hidden). token不可明文,如果是明文,那就太危险了,所以要采用一定的加密方式.密文要可逆.俺算法很白痴,所以采用了网上一个现成的方法.
    2008-03-03
  • php的webservice的wsdl的XML无法显示问题的解决方法

    php的webservice的wsdl的XML无法显示问题的解决方法

    本篇文章是对php的webservice的wsdl的XML无法显示问题的解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-03-03

最新评论