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 相关文章推荐
动易数据转成dedecms的php程序
Apr 07 PHP
PHP 截取字符串函数整理(支持gb2312和utf-8)
Feb 16 PHP
php设计模式 Singleton(单例模式)
Jun 26 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
Apr 28 PHP
PHP 使用pcntl和libevent 实现Timer功能
Oct 27 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
Oct 01 PHP
PHP exif扩展方法开启详解
Jul 28 PHP
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
Feb 23 PHP
PHP简单实现二维数组的矩阵转置操作示例
Nov 24 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
php 的多进程操作实践案例分析
Feb 28 PHP
YII2框架使用控制台命令的方法分析
Mar 18 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
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
PHP序列化操作方法分析
2016/09/28 PHP
JS中style属性
2006/10/11 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
概述jQuery中的ajax方法
2016/12/16 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
JS+canvas动态绘制饼图的方法示例
2017/09/12 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
js计算两个时间差 天 时 分 秒 毫秒的代码
2019/05/21 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
layer实现弹出层自动调节位置
2019/09/05 Javascript
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
利用python实现微信头像加红色数字功能
2018/03/26 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
2018/11/14 Python
Python列表与元组的异同详解
2019/07/02 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
Python用类实现扑克牌发牌的示例代码
2020/06/01 Python
python 实现控制鼠标键盘
2020/11/27 Python
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
JDO的含义
2012/11/17 面试题
智能电子应届生求职信
2013/11/10 职场文书
代理商会议邀请函
2014/01/27 职场文书
优秀护士演讲稿
2014/04/30 职场文书
2014年大学生工作总结
2014/11/20 职场文书
党员争先创优承诺书
2015/01/20 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
财政局长个人总结
2015/03/04 职场文书
学校德育工作总结2015
2015/05/11 职场文书
成人成长感言如何写?
2019/08/16 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL