楼上的,不是说非要刷新,这样的问题应该算作是技术上的BUG。不能不处理吧。

解决方案 »

  1.   

    我是这样做的
    比如说添加一篇文章,第一次提交时,我将文章的信息入库,然后将返回的文章id赋予$_POST['article_id'],然后在你代码里加上判断。
    整个代码是这样的if(!isset($_POST['article_id']) || $_POST['article_id']=='')//判断是否设置文章id或者文章id为空就插入
    {
       $articleId = insert($articleInfo);
       $_POST['article_id'] = $articleId;   
    }
    //自然你也可以执行更新操作
      

  2.   

    有多种方法可以解决,如果简单一点解决就是添加后就个JS刷新一下。die("<script>.....刷新操作");
      

  3.   

    如果只是单纯的防止刷新重提交,而不是防恶意重复提交的话.
    解决方案是这样的:
    提交后截取主要内容(比如文章的内容),前N位20-30个字符就够了.
    存入Cookies,下次提交时判断当前截取内容与上次Cookies保存是否相同即可.
      

  4.   

    数据一处理完啦,就让URL跳到未提交前的状态。这样子你爱怎么刷就怎么刷
      

  5.   

    估计用不到缓存设置的问题
    是你的逻辑判断有问题
    当你Post不同的值时,不会从本地缓存中提取
      

  6.   

    提交完数据,用写段JS,用location方法把页面重新加载一下.
      

  7.   

    用cookies来做一个内部验证码,每次提交之后,清除验 证码
      

  8.   

    验证码~
    或者提交后的按钮disabled~
    你的结构没有说清楚,大家不知道你的提交页面和当前页面什么关系,提交后跳转到什么页面,给个大概的提示才行,这么笼统的提问,很难回答!
    当然笼统的回答是可以防止!
      

  9.   

    我也遇到过这种问题~
    解决办法是使用Location重定向一下页面就可以了~
      

  10.   

    可以参考discuz,phpwind等论坛的做法,提交后客户端检查数据是否完整
    若完整,则submit按钮属性改成disabled,然后再post数据就成了~~~
      

  11.   

    感谢各位的帮助,我最后是这样解决的,分别做了2个页面A,B,页面A提交表单,页面B插入数据,然后在页面B做了一个JS的SUBMIT,让提交过去的页面的数据提交回来,即保存了上一次提交页面的值,又能防止了重复刷新提交。如果用LOCATION 重新定向页面,上一次提交数据的表单状态就失效了。如果submit按钮属性改成disabled,针对的是一个按钮,而且刷新页面依然会带来同样的问题。
      

  12.   

    <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>