如何防止重复提交表单刷新 楼上的,不是说非要刷新,这样的问题应该算作是技术上的BUG。不能不处理吧。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是这样做的比如说添加一篇文章,第一次提交时,我将文章的信息入库,然后将返回的文章id赋予$_POST['article_id'],然后在你代码里加上判断。整个代码是这样的if(!isset($_POST['article_id']) || $_POST['article_id']=='')//判断是否设置文章id或者文章id为空就插入{ $articleId = insert($articleInfo); $_POST['article_id'] = $articleId; }//自然你也可以执行更新操作 有多种方法可以解决,如果简单一点解决就是添加后就个JS刷新一下。die("<script>.....刷新操作"); 如果只是单纯的防止刷新重提交,而不是防恶意重复提交的话.解决方案是这样的:提交后截取主要内容(比如文章的内容),前N位20-30个字符就够了.存入Cookies,下次提交时判断当前截取内容与上次Cookies保存是否相同即可. 数据一处理完啦,就让URL跳到未提交前的状态。这样子你爱怎么刷就怎么刷 估计用不到缓存设置的问题是你的逻辑判断有问题当你Post不同的值时,不会从本地缓存中提取 提交完数据,用写段JS,用location方法把页面重新加载一下. 用cookies来做一个内部验证码,每次提交之后,清除验 证码 验证码~或者提交后的按钮disabled~你的结构没有说清楚,大家不知道你的提交页面和当前页面什么关系,提交后跳转到什么页面,给个大概的提示才行,这么笼统的提问,很难回答!当然笼统的回答是可以防止! 我也遇到过这种问题~解决办法是使用Location重定向一下页面就可以了~ 可以参考discuz,phpwind等论坛的做法,提交后客户端检查数据是否完整若完整,则submit按钮属性改成disabled,然后再post数据就成了~~~ 感谢各位的帮助,我最后是这样解决的,分别做了2个页面A,B,页面A提交表单,页面B插入数据,然后在页面B做了一个JS的SUBMIT,让提交过去的页面的数据提交回来,即保存了上一次提交页面的值,又能防止了重复刷新提交。如果用LOCATION 重新定向页面,上一次提交数据的表单状态就失效了。如果submit按钮属性改成disabled,针对的是一个按钮,而且刷新页面依然会带来同样的问题。 <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> php中的proc_open+fwrite应用问题 两个select标签,其中一个选中,另一个变成默认 有没有截取表内容的一部分放到另一个表中的sql语句? 新手求助 PHP采集新闻的问题 老外的一个文本电影,强 高分求教PHP5用ISAPI模式运行的路径问题 求MYSQL数据库备份和还原程序! PHP怎么在线分配虚拟空间? 关于postgreSQL 请教Jq获取导航栏内容(包括URL和栏目名字)并为其改变样式这个怎么写(PHP中) 有用过Ethna的吗?经验经验! php安装配置工具,包括windows下的和linux编译安装
比如说添加一篇文章,第一次提交时,我将文章的信息入库,然后将返回的文章id赋予$_POST['article_id'],然后在你代码里加上判断。
整个代码是这样的if(!isset($_POST['article_id']) || $_POST['article_id']=='')//判断是否设置文章id或者文章id为空就插入
{
$articleId = insert($articleInfo);
$_POST['article_id'] = $articleId;
}
//自然你也可以执行更新操作
解决方案是这样的:
提交后截取主要内容(比如文章的内容),前N位20-30个字符就够了.
存入Cookies,下次提交时判断当前截取内容与上次Cookies保存是否相同即可.
是你的逻辑判断有问题
当你Post不同的值时,不会从本地缓存中提取
或者提交后的按钮disabled~
你的结构没有说清楚,大家不知道你的提交页面和当前页面什么关系,提交后跳转到什么页面,给个大概的提示才行,这么笼统的提问,很难回答!
当然笼统的回答是可以防止!
解决办法是使用Location重定向一下页面就可以了~
若完整,则submit按钮属性改成disabled,然后再post数据就成了~~~
<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>