• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP+Session防止表单重复提交的解决方法

     index.php

    当前表单页面is_submit设为0

     SESSION_START(); 
    $_SESSION['is_submit'] = 0;
    form id="reg" action="post.php" method="post"> 
      p>用户名:input type="text" class="input" name="username" id="user">/p> 
      p>密 nbsp; 码:input type="password" class="input" name="password" id="pass">/p> 
      p>E-mail:input type="text" class="input" name="email" id="email">/p> 
      p>input type="submit" name="submit" class="btn" value="提交注册"/>/p> 
    /form>

     post.php

    若是提交表单了,设当前'is_submit为1,若是刷新post.php,那么将执行else代码

    SESSION_START(); 
    if (isset($_POST['submit'])) { 
      if ($_SESSION['is_submit'] == '0') { 
        $_SESSION['is_submit'] = '1'; 
        echo "代码块,要做的事,代码...a onclick='history.go(-1);' href='javascript:void(0)'>返回/a>"; 
      } else { 
        echo "请不用重复提交a href='index.php'>PHP+SESSION防止表单重复提交/a>"; 
      } 
    }

     php 解决表单重复提交实现方法介绍

    [导读] 重复提交是我们开发中会常碰到的一个问题,除了我们使用js来防止表单的重复提交,同时还可以使用php来防止重复提交哦。

    例1 代码如下

    重复提交是我们开发中会常碰到的一个问题,除了我们使用js来防止表单的重复提交,同时还可以使用php来防止重复提交哦。

    例1

     代码如下

    ?php
     /*
     * php中如何防止表单的重复提交
     */
    session_start();
     if (empty($_SESSION['ip'])) {//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库
      $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; //第一次写入,为后面刷新或后退的判断做个铺垫
      //...........//写入数据库操作
    } else {//已经有第一次写入后的操作,也就不再写入数据库
      echo '请不要再次刷新和后退'; //写一些已经写入的提示或其它东西
    }
     ?>

    具体原理

    session范围变量token来防止。

    1. 开启session:

    session_start();

    2. 如果有表单提交

     代码如下 复制代码

    if (isset($token))

    token以hidden的形式包含在form当中。

     代码如下 复制代码

    input type="hidden" name="token" value="?php echo $token; ?>" /> 

     3. 如果是重复提交表单

     代码如下

    if ($_SESSION["token"] != $token) { 
      // 不让重复提交,在此处理 
      // header("location:".$_SERVER['PHP_SELF']); 
     } else { 
      // 正常的表单提交,在此处理 
      // echo "已提交";  
    } 

    4. 设置token值

     代码如下

    $token = mt_rand(0,1000000);
    $_SESSION['token'] = $token;

    总结

    以上所述是小编给大家介绍的PHP+Session防止表单重复提交的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • PHP实现防止表单重复提交功能【基于token验证】
    • php 防止表单重复提交两种实现方法
    • php表单加入Token防止重复提交的方法分析
    • php解决和避免form表单重复提交的几种方法
    • PHP使用token防止表单重复提交的方法
    • php防止表单重复提交实例讲解
    上一篇:PHP创建自己的Composer包方法
    下一篇:PHP缓存工具XCache安装与使用方法详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    PHP+Session防止表单重复提交的解决方法 PHP+Session,防止,表单,重复,