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 执行系统外部命令 system() exec() passthru()
Aug 11 PHP
PHP函数学习之PHP函数点评
Jul 05 PHP
wordpress自定义url参数实现路由功能的代码示例
Nov 28 PHP
php Calender(日历)代码分享
Jan 03 PHP
php 启动时报错的简单解决方法
Jan 27 PHP
PHP动态编译出现Cannot find autoconf的解决方法
Nov 05 PHP
PHP7新增运算符用法实例分析
Sep 26 PHP
PHP与jquery实时显示网站在线人数实例详解
Dec 02 PHP
Laravel5中Cookie的使用详解
May 03 PHP
PHP实现微信红包金额拆分试玩的算法示例
Apr 07 PHP
PHP验证类的封装与使用方法详解
Jan 10 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 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
phpstrom使用xdebug配置方法
2013/12/17 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
JavaScript中的集合及效率
2010/01/08 Javascript
浅谈JavaScript之事件绑定
2013/07/08 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
Javascript基础教程之if条件语句
2015/01/18 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
2016/08/02 Javascript
Node.js的特点详解
2017/02/03 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
JS实现列表页面隔行变色效果
2017/03/25 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
2017/08/14 jQuery
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
vue以组件或者插件的形式实现throttle或者debounce
2019/05/22 Javascript
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
python装饰器使用方法实例
2013/11/21 Python
Python的函数的一些高阶特性
2015/04/27 Python
Python入门_条件控制(详解)
2017/05/16 Python
python读取中文txt文本的方法
2018/04/12 Python
Python求离散序列导数的示例
2019/07/10 Python
使用pandas读取文件的实现
2019/07/31 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
美国Randolph太阳镜官网:美国制造的飞行员太阳镜和射击眼镜
2018/06/15 全球购物
Python里面search()和match()的区别
2016/09/21 面试题
简历中求职的个人自我评价
2013/12/03 职场文书
暑期培训随笔感言
2014/03/10 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
2016年安全生产先进个人事迹材料
2016/02/29 职场文书
高一作文之暖冬
2019/11/09 职场文书