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(); 只适用于检测数字, 但假如参数名不存在, 会出错, 因此不适合于第一层检测
综合示例:
代码如下: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 值
性别: 男 性别: 女
清空
来源: https://www.php1.cn/detail/php-98ebba2cb4.html