PHP开发中常用的三个表单验证函数使用小结

时间:2023-11-21 19:15:50 

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,表单验证
0
投稿

猜你喜欢

  • php插件功能实现方法介绍

    2023-05-30 12:28:52
  • [翻译]标记语言和样式手册 chapter 5 表单

    2008-01-23 17:20:00
  • 网站重构到底是什么

    2008-11-03 11:30:00
  • 详解python中的异常捕获

    2021-11-21 00:52:20
  • JavaScript 数组方法filter与reduce

    2024-04-29 13:14:38
  • Pandas之ReIndex重新索引的实现

    2023-10-22 20:47:28
  • 怎样在SQL Server 2005中用证书加密数据

    2009-01-04 14:11:00
  • Python中的np.vstack()和np.hstack()详解

    2022-05-09 03:06:56
  • Python 创建空的list,以及append用法讲解

    2021-02-23 17:05:58
  • python beautifulsoup4 模块详情

    2021-12-30 07:50:03
  • python生成图片验证码的方法

    2022-07-27 13:39:11
  • python实例化对象的具体方法

    2023-11-05 21:52:11
  • 使用Pycharm(Python工具)新建项目及创建Python文件的教程

    2022-06-07 11:43:52
  • asp无限级分类加js收缩伸展功能代码

    2009-12-08 12:25:00
  • 什么是UE,UED?

    2008-07-24 13:26:00
  • Python使用pandas对数据进行差分运算的方法

    2021-09-28 06:56:07
  • Django之创建引擎索引报错及解决详解

    2023-06-11 10:55:15
  • 五个Python命令使用的小妙招分享

    2023-12-09 07:58:04
  • Oracle数据库对象的使用详解

    2024-01-28 16:38:30
  • 兼容PHP5的PHP目录管理函数库

    2024-06-07 15:50:41
  • asp之家 网络编程 m.aspxhome.com