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实现智能文件类型检测的实现代码
Aug 02 PHP
基于PHP array数组的教程详解
Jun 05 PHP
ThinkPHP3.1新特性之内容解析输出详解
Jun 19 PHP
destoon复制新模块的方法
Jun 21 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
Sep 24 PHP
Symfony模板的快捷变量用法实例
Mar 17 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
Jul 13 PHP
Yii核心验证器api详解
Nov 23 PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 PHP
在IIS下安装PHP扩展的方法(超简单)
Apr 10 PHP
PHP中模糊查询并关联三个select框
Jun 19 PHP
Laravel下生成验证码的类
Nov 15 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 PDO中文乱码解决办法
2009/07/20 PHP
PHP无限分类代码,支持数组格式化、直接输出菜单两种方式
2011/05/18 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
PHP7新增函数
2021/03/09 PHP
JavaScript 10件让人费解的事情
2010/02/15 Javascript
jquery获取input表单值的代码
2010/04/19 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
JavaScript数据结构中串的表示与应用实例
2017/04/12 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
详解用async/await来处理异步
2019/08/28 Javascript
javascript中可能用得到的全部的排序算法
2020/03/05 Javascript
JS原型对象操作实例分析
2020/06/06 Javascript
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
vue用elementui写form表单时,在label里添加空格操作
2020/08/13 Javascript
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
[02:28]PWL开团时刻DAY3——Ink Ice与DeMonsTer之间的勾心斗角
2020/11/03 DOTA
Python兔子毒药问题实例分析
2015/03/05 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
2021/03/02 Python
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
本科毕业生自我鉴定
2013/11/02 职场文书
5.1手机促销活动
2014/01/17 职场文书
投标邀请书范文
2014/01/31 职场文书
团日活动总结模板
2014/06/25 职场文书
体育专业求职信
2014/07/16 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书