当前位置: 移动技术网 > IT编程>开发语言>PHP > php防止表单重复提交实例讲解

php防止表单重复提交实例讲解

2019年03月19日  | 移动技术网IT编程  | 我要评论

都市美女迷情录,8l9883,文人书屋电子书下载

说来惭愧,前几天做项目的时候,出现个低级错误。在公司后台做表单提交,一是自己员工用,二是 html 自己来写的,没有验证表单重复提交,结果出错了。写出来记录下以便提醒自己,时刻不能疏忽。

解决方法

其实方法有很多种,只举例几个简单的来说说。

框架

很多框架都有防止重复提交的功能,大家应该都有了解,这里不再赘述。

前端

原理很简单,用户点击提交之后,使用 js 将提交按钮置灰即可。

后端

也就是使用 php 进行验证,当然不局限以下几种

cookie

用户提交表单到后端,在 cookie 中做标记,指定时间内重复提交无效。但是用户禁用 cookie 这个方法就失效了。

<?php
 
if (isset($_cookie['formflag'])) {
  exit('error');
}
 
// 处理数据
 
// 30秒内重复提交无效
setcookie('formflag', time(), time() + 30);

session

展示表单页面的时候,生成随机数,同时存储在 session 中以及表单隐藏域中。第一次提交的时候,对比成功删除 session 中的值。

<?php
 
if (!isset($_session['formflag']) || $_post['formflag'] != $_session['formflag']) {
  exit('error');
}
 
// 处理数据
 
unset($_session['formflag']);

上面就是本次介绍php防止重复提交表单的全部内容,感谢大家对移动技术网的支持。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网