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

原文:表单验证的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>

时间: 2024-08-24 09:37:41

表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法的相关文章

PHP / JavaScript / jQuery 表单验证与处理总结: 第①部分 PHP 表单验证与处理

PHP VERSION = 5.3.10 一.关于 $_REQUEST PHP 文档关于 $_REQUEST 的说明: 说明 默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组. 更新日志 版本 说明 5.3.0 引入 request_order.该指令会影响 $_REQUEST 的内容. 4.3.0 $_FILES 信息被从 $_REQUEST 中移除. 4.1.0 引入 $_REQUEST. 在 php 5.3 以上版本中,php.ini 中的 request_orde

HTML5 Web Form 新增属性和表单验证

<form>标签的基本属性 1 method属性:指定浏览器向服务器传送数据的方式,可选: 2 action属性:设置服务器接受和处理表单数据的URL: 3 enctype属性:制定表单数据在发送到服务器之前进行编码的编码方式: 4 accept属性:指定能够通过文件上传进行提交的文件类型: 5 accept-charset属性:指定服务器处理表单数据所接收的字符集: 6 target属性:制定浏览器在提交表单后生成的页面在哪个框加载或在哪个窗口显示: 7 id属性:用来识别网页中的form标

再说表单验证,在Web Api中使用ModelState进行接口参数验证

写在前面 上篇文章中说到了表单验证的问题,然后尝试了一下用扩展方法实现链式编程,评论区大家讨论的非常激烈也推荐了一些很强大的验证插件.其中一位园友提到了说可以使用MVC的ModelState,因为之前通常都在Web项目中用没在Api项目用过,想想Api方法接收的多参数都封装成了一个实体类,独立于数据Model层,这样其实很方便用ModelState做验证,于是尝试了一下. 认识ModelState 我们都知道在MVC中使用ModelState实现表单验证非常简单,借助jquery.validat

简单的Jquery表单验证

本段代码举了一个最简单的表单验证实例,就是判断输入框是否为空而已,大家可以根据这个原理,加入正则表达式判断,实现各种功能强大的表单验证功能 <html>    <head>        <title>Validate empty fields</title>        <style type="text/css">            body{font-family:"Trebuchet MS",

140926●日期时间操作、数学函数操作、表单验证

日期时间操作:var d=new Date();var d=new Date(1999,3,5); //时间是:1999-4-5 d.getFullYear();年d.getMonth();月(正常-1)d.getDate();天d.getDay();星期几d.getHours();d.getMinutes();d.getSeconds(); 数学函数操作:Math.ceil();Math.floor();Math.round();Math.random();Math.sqrt(); 表单验证:

四种表单验证方法的分析和比较

前言 任何可以交互的站点都有输入表单,只要有可能,就应该对用户输入的数据进行验证.无论服务器后端是什么样的系统,都不愿意把时间浪费在一些无效的信息上,必须对表单数据进行校验,若有不符合规定的表单输入,应及时返回并给出相应的提示信息.本文将列举四种不同原理的表单验证方法,并给出各方法在 PHP 服务器上的实现. 回页首 浏览器端验证 传统上,表单数据一般都通过浏览器端的 Javascript 验证.浏览器端的验证速度快,若有不符合要求的输入,响应信息快速的返回给用户.由于验证数据不需要提交给服务器

discuze回放提示“抱歉,您的请求来路不正确或表单验证串不符,无法提交”

不知从哪里看到文章,但是实用: 背景:discuze就单纯的录制一个注册脚本,日志中没有报错,在报告中就提示“抱歉,您的请求来路不正确或表单验证串不符,无法提交””,以下方法可以解决 一般出现 “抱歉,您的请求来路不正确或表单验证串不符,无法提交” 这种问题的地方都是在提交表单的时候出现的. 因为discuz 在提交表单的时候 会进行校验,submitcheck()函数,这个函数首先会校验表单中的formhash,如果formhash出现问题,那么就会出现“抱歉,您的请求来路不正确或表单验证串不

php基础教程——表单验证(必填、提交后数据保留)

一.表单验证中用到的几个元素记录 1.htmlspecialchars(),用于将用户输入的特殊字符转义为普通字符,比如 < 和 > 之类的 HTML 字符会被替换为 < 和 > 2.$_SERVER["PHP_SELF"] 是一种超全局变量,返回当前页面脚本名字 3.trim()用于删除多余的空格等 4.stripslashes()用于删除用户多输入的反斜线 二.一个简单的表单验证函数 function test_input($str){ $str = tri

PHP表单之表单验证

一.表单安全 1.htmlspecialchars()函数 把特殊字符转换为 HTML 实体.这意味着 < 和 > 之类的 HTML 字符会被替换为 < 和 > .这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用. 跨站点脚本攻击(Cross Site Scripting):为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者往Web页面里插入恶意ht