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

2019年9月10日21:40:49 评论 33

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();——只适用于检测数字,但假如参数名不存在,会出错,因此不适合于第一层检测。

综合示例:


复制代码 代码如下:

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 '

isset的情形:

';

if(isset($_GET['fo'])){

echo '变量/'fo/'的isset为真,变量可用';

}else{

echo '变量/'fo/'的isset为假,无变量设置';

}

echo '

empty的情形:

';

if(empty($_GET['fo'])){

echo '变量/'fo/'的empty为真,即空值或无效值';

}else{

echo '变量/'fo/'的empty为假,有值';

}

echo '

is_numeric的情形:

';

if(is_numeric($_GET['fo'])){ //在参数中无fo参数时,则出错。

echo '变量/'fo/'的is_numeric为真,是数字';

}else{

echo '变量/'fo/'的is_numeric为假,不是数字';

}

echo "

/$_GET['fo']=''的情形:

";

if($_GET['fo']==''){ //在参数中无fo参数时,则出错。

echo 'fo无值,空的字符串';

}elseif($_GET['fo']!=''){

echo 'fo有值,不为/'/'.';

}

echo "

/$_GET['sex']='m'的情形:

";

if($_GET['sex']=='m'){ //当参数中无sex变量时就会出错。

echo '男的';

}elseif($_GET['sex']=='f'){

echo '女的';

}

?>

无标题文档

传有效值 传空值 传0值

性别:男 性别:女

清空

weinxin
欢迎加入中国站长博客之家
本站的所有资源都会上传分享到博客之家,希望大家互相学习交流进步。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: