• 技术文章 >php教程 >php手册

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

    2016-06-13 08:53:44原创420

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


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

    <?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当中。

    
    

    3. 如果是重复提交表单

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

    4. 设置token值
    $token = mt_rand(0,1000000);
    2$_SESSION['token'] = $token;

    以上就是关于如何解决php表单重复提交实现方法,希望对大家的学习有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 重复提交 php
    上一篇:PHP人民币金额转大写实例代码,php人民币大写实例 下一篇:8个必备的PHP功能开发,必备php
    PHP编程就业班

    相关文章推荐

    • ajax无刷新分页,支持id定位• Memcache 中实现消息队列• 最好最实用的PHP二次开发教程• 浅析php变量修饰符static的使用• 第六章 php目录与文件操作

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网