加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

分析php防止form重复提交的方法

发布时间:2022-07-21 13:13:00 所属栏目:PHP教程 来源:互联网
导读:本篇文章是对php防止form重复提交的方法进行了详细的分析介绍,需要的朋友参考下 ************************************************************* 用户提交表单时可能因为网速的原因,或者网页被恶意刷新,致使同一条记录重复插入到数据库中,这是一个比较
  本篇文章是对php防止form重复提交的方法进行了详细的分析介绍,需要的朋友参考下

  *************************************************************
  用户提交表单时可能因为网速的原因,或者网页被恶意刷新,致使同一条记录重复插入到数据库中,这是一个比较棘手的问题。我们可以从客户端和服务器端一起着手,设法避免同一表单的重复提交。
 
  1.使用客户端脚本
  提到客户端脚本,经常使用的是JavaScript进行常规输入验证。在下面的例子中,我们使用它处理表单的重复提交问题,请看下面的代码:
  <form method="post" name="register" action="test.php" enctype="multipart/form-data">
  <input name="text" type="text" id="text" />
  <input name="cont" value="提交" type="button" onClick="document.register.cont.value='正在提交,请等待...'; document.register.cont.disabled=true;document.the_form.submit();">
  </form>
  当用户单击“提交”按钮后,该按钮将变为灰色不可用状态。
  上面的例子中使用OnClick事件检测用户的提交状态,如果单击了“提交”按钮,该按钮立即置为失效状态,用户不能单击按钮再次提交。
  还有一个方法,也是利用JavaScript的功能,但是使用的是OnSubmit()方法,如果已经提交过一次表单,将立即弹出对话框,代码如下:
 
  复制代码 代码如下:
  <script language="javascript">
  <!--
  var submitcount=0;
  function submitOnce (form){
  if (submitcount == 0){
  submitcount++;
  return true;
  } else{
  alert("正在操作,请不要重复提交,谢谢!");
  return false;
  }
  }
  //-->
  </script>
  <form name="the_form" method="post" action="" onSubmit="return submitOnce(this)">
  <input name="text" type="text" id="text" />
  <input name="cont" value="提交" type="submit">
  </form>。
 

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读