zoukankan      html  css  js  c++  java
  • PHP 防止表单重复提交

    <?php
     session_start();
     $_SESSION['fsess']=($_SESSION['fsess'])?$_SESSION['fsess']:time();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>防止表单重复提交</title>
    <SCRIPT language=Javascript type=text/javascript>
    <!--
    //*****Javascript防重复提交************
    var frm_submit=false;   //纪录提交状态
    function check_form(fobj) {
     var error = 0;
        var error_message = "";
     if (fobj.formtext.value=="")
     {
      error_message = error_message + "formtext 不能为空.
    ";
      error = 1;
     }
    
     if (frm_submit==true) {
      error_message = error_message + "这个表单已经提交.
    请耐心等待服务器处理你的请求.
    
    ";
      error=1;
     }
    
     if (error == 1) {
       alert(error_message);
       return false;
     } else {
       frm_submit=true;  //改变提交状态
       return true;
     }
    }
    -->
    </script>
    </head>
    <body>
    Javascript和服务器端 双重防止表单重复提交演示
    <br/>
    <br/>
    现在时间:<?php echo date("Y-m-d H:i:s"); ?>
    <br/>
    <br/>
    <?php
    if(@$_POST["faction"]=="submit"||@$_GET["faction"]=="submit"){
     //提交处理
    
     //*****服务器端防重复提交*******************
     //如果POST传来的表单生成时间与SESSION保存的表单生成时间
     //相同;为正常提交
     //不相同;为重复提交
     if($_SESSION["fsess"]==$_POST["fpsess"]){
      $_SESSION["fsess"]=time();
      echo  "提交内容:<br/>
    ";
      echo  $_POST["fpsess"]."<br/>
    ";;
      echo  $_POST["formtext"];
      echo "</body></html>";
      exit;
     } else {
      echo  "重复提交,退出!!!!<br/>
    ";
      echo "</body></html>";
      exit;
     }
    }
    //$_SESSION["fsess"]=time();
    ?>
    <form name="f_info" action="" method="post"  onSubmit="return check_form(this);">
    <input name="fpsess" type="hidden" value="<?php echo $_SESSION["fsess"]; ?>" />
    <!-- 保存表单生成时间 -->
    <input name="faction" type="hidden" value="submit" />
    <input name="formtext" id="formtext" type="text" value="" />
    <input type="submit" value="提交" />
    <input  type="reset" value="重置" />
    </form>
    </body>
    </html>
  • 相关阅读:
    Azure 虚拟机安全加固整理
    AzureARM 使用 powershell 扩容系统磁盘大小
    Azure Linux 云主机使用Root超级用户登录
    Open edX 配置 O365 SMTP
    powershell 根据错误GUID查寻错误详情
    azure 创建redhat镜像帮助
    Azure Powershell blob中指定的vhd创建虚拟机
    Azure Powershell 获取可用镜像 PublisherName,Offer,Skus,Version
    Power BI 连接到 Azure 账单,自动生成报表,可刷新
    Azure powershell 获取 vmSize 可用列表的命令
  • 原文地址:https://www.cnblogs.com/shaoing/p/5569196.html
Copyright © 2011-2022 走看看