PHP开发中常用的三个表单验证函数使用小结
2018-09-07 21:28
ISSET();——适合于检测是否存在这个参数。
定义和作用范围:用于测试一个变量是否具有值(包括0,FALSE,或者一个空字串,但不能是NULL),即:“”也是可以通过检测,因此不适用。但如果是“”参数中并不含fo参数,就可以用isset来检测,此时isset($_GET[fo])返回false。
不适用于:该函数不适合于验证html表单中的文本的有效方式。要检查用户输入文本是否有效,可以用empty();
empty();——最好用的一个函数。
定义和作用范围:用于检查变量是否具有空值:包括:空字串,0,null 或false,即:“”或“”时,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
<html xmlns=
<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>