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 输出简单动态WAP页面
Jun 09 PHP
php中判断字符串是否全是中文或含有中文的实现代码
Sep 16 PHP
基于PHP选项与信息函数的使用详解
May 10 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
Dec 25 PHP
php 判断网页是否是utf8编码的方法
Jun 06 PHP
php实现简单文件下载的方法
Jan 30 PHP
php防止sql注入简单分析
Mar 18 PHP
递归实现php数组转xml的代码分享
May 14 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
Mar 14 PHP
PHP 生成微信红包代码简单
Mar 25 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
Oct 22 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.ini中文版(2)
2006/10/09 PHP
MySQL连接数超过限制的解决方法
2011/07/17 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
javascript英文日期(有时间)选择器
2007/05/02 Javascript
JQuery 入门实例1
2009/06/25 Javascript
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
2014/12/02 Javascript
浅谈js控制li标签排序问题 js调用php函数的方法
2016/10/16 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
解析vue路由异步组件和懒加载案例
2018/06/08 Javascript
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
2019/11/21 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
PyTorch基本数据类型(一)
2019/05/22 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
简单了解python调用其他脚本方法实例
2020/03/26 Python
加拿大在线隐形眼镜和眼镜店:VisionPros
2019/10/06 全球购物
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
上课迟到检讨书
2014/01/19 职场文书
公司投资建议书
2014/05/16 职场文书
药剂专业自荐书
2014/06/20 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
2015年助理工程师工作总结
2015/04/03 职场文书
2015年高一班主任工作总结
2015/05/13 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书