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数据库操作面向对象的优点
Oct 09 PHP
php中关于普通表单多文件上传的处理方法
Mar 25 PHP
PHP学习散记_编码(json_encode 中文不显示)
Nov 10 PHP
php 网上商城促销设计实例代码
Feb 17 PHP
我的php学习笔记(毕业设计)
Feb 21 PHP
php数字游戏 计算24算法
Jun 10 PHP
WordPress主题制作之模板文件的引入方法
Dec 28 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
php 使用redis锁限制并发访问类示例
Nov 02 PHP
php使用str_replace替换多维数组的实现方法分析
Jun 15 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
php的优点总结 php有哪些优点
Jul 19 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
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016/04/22 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
一些常用且实用的原生JavaScript函数
2010/09/08 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
React Native之TextInput组件解析示例
2017/08/22 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
Python3安装Scrapy的方法步骤
2017/11/23 Python
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
Selenium元素的常用操作方法分析
2018/08/10 Python
Python数据集切分实例
2018/12/08 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
2019/03/01 Python
python调用c++返回带成员指针的类指针实例
2019/12/12 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
html Table 表头固定的实现
2019/01/22 HTML / CSS
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
英文版网络工程师求职信
2013/10/28 职场文书
简历中自我评价怎么写
2014/02/12 职场文书
《挑山工》的教学反思
2014/02/16 职场文书
大学生新学期计划书
2014/04/28 职场文书
积极向上的团队口号
2014/06/06 职场文书
幽默导游词开场白
2015/05/29 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python