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 中文字符入库或显示乱码问题的解决方法
Apr 12 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
Aug 01 PHP
PHP 导出Excel示例分享
Aug 18 PHP
正确的PHP匹配UTF-8中文的正则表达式
May 13 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
Oct 26 PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 PHP
PHP使用SMTP邮件服务器发送邮件示例
Aug 28 PHP
实例讲解PHP表单处理
Feb 15 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
Apr 10 PHP
PHP如何将图片文件上传到另外一台服务器上
Aug 26 PHP
在 PHP 和 Laravel 中使用 Traits的方法
Nov 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
声音就能俘获人心,蕾姆,是哪个漂亮小姐姐配音呢?
2020/03/03 日漫
php 随机生成10位字符代码
2009/03/26 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
PHP错误机制知识汇总
2016/03/24 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
jQuery淡入淡出元素让其效果更为生动
2014/09/01 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
Javascript代码实现仿实例化类
2015/04/03 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
2016/11/25 Javascript
JavaScript注入漏洞的原理及防范(详解)
2016/12/04 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
2016/12/14 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
python 实现插入排序算法
2012/06/05 Python
简单的连接MySQL与Python的Bottle框架的方法
2015/04/30 Python
python中星号变量的几种特殊用法
2016/09/07 Python
mac 安装python网络请求包requests方法
2018/06/13 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
python获取网络图片方法及整理过程详解
2019/12/20 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
Python脚本去除文件的只读性操作
2020/03/05 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
唤醒头发毛囊的秘密武器:Grow Gorgeous
2016/08/28 全球购物
骨干教师考核方案
2014/05/09 职场文书
高中校园广播稿
2014/10/21 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
tensorflow学习笔记之tfrecord文件的生成与读取
2021/03/31 Python
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技
Python集合set()使用的方法详解
2022/03/18 Python