php 怎么限制表单不能为空,php不允许用户提交空表单(php空值判断)

我们在设计提交空的评论时依然可以写入数据库,并在页面显示出来。这显然是不合理的,所以需要我们加入空值判断

可以修改代码,添加些判断:

复制代码代码如下:

if(empty($_POST['name'])){

echo "俗话说的好,雁过留声人过留名
";

}

elseif(empty($_POST['comment'])){

echo "矮油,多说几句吧~";

}

else{ // www.jbxue.com

$sql = "INSERT INTO myblog_comments(blog_id, dateposted, name, comment) VALUES(" . $validentry . ", NOW(), '" . $_POST['name'] . "', '" . $_POST['comment'] . "');";

mysql_query($sql);

header("Location: http://". $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']."?id=" . $validentry);

}

PHP空值判断

empty 和 isset 虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的区别:empty还会检测变量是否为空、为零。当一个变量值为0,empty 认为这个变量同等于空,即相当于没有设置。

复制代码代码如下:

/*比如检测 $id 变量,当 $id=0 时,用empty 和 isset 来检测变量 $id 是否已经配置,两都将返回不同的值—— empty 认为没有配置,isset 能够取得 $id 的值:*/

$id=0; // www.jbxue.com

empty($id)?print "It's empty .":print "It's $id .";

//结果:It's empty .

print "
";

!isset($id)?print "It's empty .":print "It's $id .";

//结果:It's 0 .

?>

总结PHP中,“NULL” 和 “空” 是2个概念。

isset  主要用来判断变量是否被初始化过

empty  可以将值为 “假”、“空”、“0”、“NULL”、“未初始化” 的变量都判断为TRUE

is_null  仅把值为 “NULL” 的变量判断为TRUE

var == null  把值为 “假”、“空”、“0”、“NULL” 的变量都判断为TRUE

var === null  仅把值为 “NULL” 的变量判断为TRUE

所以我们在判断一个变量是否真正为“NULL”时,大多使用 is_null,从而避免“false”、“0”等值的干扰。

阻止form空表单提交----JavaScript

网上看到很不错的阻止form空表单提交 第一种方法

登录到pfan空间

Django学习系列10:保存用户输入——编写表单,发送POST请求

要获取用户输入的待办事项,发送给服务器,这样才能使用某种方式保存待办事项,然后在显示给用户查看. 上次运行测试指出无法保存用户的输入.现在,要使用HTML post请求. 若想让浏览器发送POST请求 ...

ajax提交form表单资料详细汇总

一.ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单.通过在后台与服务器进行少量数据交换,ajax 可以使网页实现异步更新.这意味 ...

提交form表单不刷新页面案列

提交form表单不刷新页面其实很简单的,这里拿上传图片来举列,大家有什么其它的方法也欢迎留言告知与我

按下回车默认提交form表单问题

最近开发中碰到一个问题,项目中有几个列表展示页面,允许用户通过查询条件模糊查询数据.用户录入关键字后点击回车会调用查询方法根据关键字查询,原先功能没有问题,但是最近发现在查询输入框中按下回车会直接刷新 ...

Button按钮为什么无缘无故会提交form表单?

我的form表单里有好几个Button按钮,每个按钮有不同的功能,可是这些按钮居然都有提交功能,真是把我惊呆了

Ajax提交form表单内容和文件(jQuery.form.js)

jQuery官网是这样介绍form.js A simple way to AJAX-ify any form on your page; with file upload and progress s ...

使用js提交form表单的两种方法

提交form表单的时候瑶族一些简单的验证,验证完后才能提交,避免无效提交. 1.当输入用户名和密码为空的时候,需要判断.这时候就用到了校验用户名和密码,这个需要在前端页面写:有两种方法,一种是用sub ...

随机推荐

Win7下清除SQL SERVER 2008的SSMS保存的登录信息

C:\Users\{用户名}\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\

Mssql中一些常用数据类型的说明和区别

Mssql中一些常用数据类型的说明和区别 1.bigint 占用8个字节的存储空间,取值范围在-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,37 ...

apache如何设置http自动跳转到https

如何设置http自动跳转到https?apache环境下,配置好https后,需要设置url重定向规则,使网站页面的http访问都自动转到https访问. 1.先打开url重定向支持1)打开Apach ...

C#------如何取出exe运行文件给客户使用

1.将解决方案配置里面的“Debug”转换成“Release” 2.右击“解决方案”,选着“重新生成解决方案”,以得到最新的版本 3.找到工程目录下的“bin”文件夹,里面有“Release”文件夹, ...

[OpenCV学习笔记2][Mat数据类型和操作]

[Mat数据类型和基本操作] ®.运行环境:Linux(RedHat+OpenCV3.0) 1.Mat的作用: Mat类用于表示一个多维的单通道或者多通道的稠密数组.能够用来保存实数或复数的向量.矩阵 ...

vue中引入jQuery和bootstrap

一.引入jQuery: 首先在当前项目的根目录下(就是与package.json同目录),运行命令npm install jquery --save-dev   这样就将jquery安装到了这个项目中 ...

从Storm和Spark 学习流式实时分布式计算的设计

0. 背景 最近我在做流式实时分布式计算系统的架构设计,而正好又要参加CSDN博文大赛的决赛.本来想就写Spark源码分析的文章吧.但是又想毕竟是决赛,要拿出一些自己的干货出来,仅仅是源码分析貌似分量 ...

Python——列表、元祖、字典 操作方法

一.编码方式占位 1.ASCII码:字母.数字.特殊字符,1个字节占8位 2.Unicode:字母 2字节占16位  /  中文 4字节 占32位 3.UTF8:字母 1字节占8位 / 欧洲 2字节占 ...

【Keil5 MDK】armar工具的基本用法(armar --help)

ARM Librarian, 5.03 [Build 76] - archive creation and maintenance tool Command format: armar options ...

C# 本进程执行完毕后再执行下一线程

最近做了一套MES集成系统,由上料到成品使自动化运行,其中生产过程是逐步的,但是每一个动作都需要独立的线程进行数据监听,那么就需要实现线程等待. 代码: using System; using Sys ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值