PHP实现防止表单重复提交功能【基于token验证】


Posted in PHP onMay 24, 2018

本文实例讲述了PHP实现防止表单重复提交功能。分享给大家供大家参考,具体如下:

防止表单重复提交的方法有很多种,那么今天就给大家介绍一种php如何有效的防止表单重复提交。

代码非常简单

我相信大家很聪明给大家分享一个小的demo,大家可以借鉴一下:

PHP实现防止表单重复提交功能【基于token验证】

PHP实现防止表单重复提交功能【基于token验证】

具体代码:

<?php
/*
* 2016年9月29日08:09:13
*/
session_start();
header("Content-Type: text/html;charset=utf-8");
function set_token() {
  $_SESSION['token'] = md5(microtime(true));
}
function valid_token() {
  $return = $_REQUEST['token'] === $_SESSION['token'] ? true : false;
  set_token();
  return $return;
}
//如果token为空则生成一个token
if(!isset($_SESSION['token']) || $_SESSION['token']=='') {
  set_token();
}
if(isset($_POST['web'])){
  if(!valid_token()){
    echo "token error,请不要重复提交!";
  }else{
    echo '成功提交,Value:'.$_POST['web'];
  }
}else{
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>PHP防止重复提交表单</title>
<meta name="keywords" content="PHP" />
<meta name="description" content="PHP防止重复提交表单" />
</head>
<body>
<div id="main">
  <div class="demo">
    <form method="post" action="">
      <input type="hidden" name="token" value="<?php echo $_SESSION['token']?>">
      <input type="text" class="input" name="web" value="三水点靠木">
      <input type="submit" class="btn" value="提交" />
    </form>
  </div>
</div>
</body>
</html>
<?php }?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP的ASP防火墙
Oct 09 PHP
在任意字符集下正常显示网页的方法二(续)
Apr 01 PHP
php性能优化分析工具XDebug 大型网站调试工具
May 22 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
奇怪的PHP引用效率问题分析
Mar 23 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 PHP
php中curl和file_get_content的区别
May 10 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
PDO::getAvailableDrivers讲解
Jan 28 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
Sep 30 PHP
解决Laravel5.2 Auth认证退出失效的问题
Oct 14 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 #PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
May 24 #PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 #PHP
PHP实现一维数组与二维数组去重功能示例
May 24 #PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 #PHP
yii2安装详细流程
May 23 #PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 #PHP
You might like
图书管理程序(一)
2006/10/09 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
关于文本限制字数的js代码
2007/04/02 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
再论Javascript的类继承
2011/03/05 Javascript
纯JAVASCRIPT图表动画插件Highcharts Examples
2011/04/16 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
详解Vue2.5+迁移至Typescript指南
2019/08/01 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
详解Vue中的自定义指令
2020/12/07 Vue.js
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
智能室内花园:Click & Grow
2021/01/29 全球购物
商务英语广告词大全
2014/03/18 职场文书
查摆问题整改措施
2014/10/24 职场文书
期末个人总结范文
2015/02/13 职场文书
乒乓球比赛通知
2015/04/27 职场文书
开学典礼观后感
2015/06/15 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
高中数学课堂教学反思
2016/02/18 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
golang 实现Location跳转方式
2021/05/02 Golang