php 提交表单到当前页面如何防止页面刷新重复提交~

提交到本页面。怎么防止重复提交!

最常用的方法就是利用token。即:
1、在生成页面的时候生成一个token(随机字符串),并把它同时写入表单的某个hidden中,和服务端的session中。
2、客户端提交表单到服务器时,比对表单中的token与session中的token是否一致。若不一致则认为是无效的请求。
3、不管第2步的校验是否通过,token只要使用一次后就立即作废(即:从session中销毁)。同时token也可以关联时间信息,超时后也自动作废。

这样,即便客户端重复提交,也只有第一次的请求能够成功。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-02-13

可以在当前页面里设置一个变量,通过这个变量来确定是否已经提交了,如果提交过了就不再提交。


示例代码:

<script language="javascript"> 
var checkSubmitFlg = false; 

function checkSubmit(){ 
if(checkSubmitFlg ==true){ 
  return false; //当表单被提交过一次后checkSubmitFlg将变为true,根据判断将无法进行提交。 

checkSubmitFlg ==true; 
return true; 

< /script > 

< form name="form1" method="post" onsubmit="return checkSubmit();"> 
………..
< /form>

追问

可以写一些,提示一下吗?

追答<script language="javascript"> 
var checkSubmitFlg = false; 
 
function checkSubmit(){ 
if(checkSubmitFlg ==true){ 
  return false; //当表单被提交过一次后checkSubmitFlg将变为true,根据判断将无法进行提交。 

checkSubmitFlg=true; 
return true; 

</script > 
 
< form name="form1" method="post" onsubmit="return checkSubmit();"> 
………..
</form>

追问

这个可以避免F5刷新重复提交问题吗?

追答

你试试吧。

本回答被网友采纳

php 提交表单到当前页面如何防止页面刷新重复提交~
最常用的方法就是利用token。即:1、在生成页面的时候生成一个token(随机字符串),并把它同时写入表单的某个hidden中,和服务端的session中。2、客户端提交表单到服务器时,比对表单中的token与session中的token是否一致。若不一致则认为是无效的请求。3、不管第2步的校验是否通过,token只要使用一次后...

PHP关于避免 页面刷新时 重复提交表单的问题。。
其实有一个不太好的办法 就是当用户提交表单之后,用js弹出一个框,已成功提交,echo "alert('已成功提交')";然后用php的header或者js跳转到提交页面 header("location:$post");这样相当于自己刷新了一遍页面,然后用户再怎么刷新也没事 虽然用户体验不是很好,不过如果没用Ajax的话,正常提交也要刷...

在用php做小页面,有个表单.每次刷新页面时老是提示不要重复提交表单?怎 ...
我们要做的就是告诉浏览器:放心刷新。这也是解题的思路:在刷新时把表单撤了。当然,我的情况可能和你的不同,我写的是弹窗式的登录页面,所以,我用Jquery写了个Load(“b.html”),b.html里只有一个。这样做就可以保证a.html里没有。只有你的网页里有,chrome就会提示“重新提交表单”。这个情况...

关于用POST方法提交,怎么防止刷新时重复提交数据的有关问题求解答_百度...
1 表单提交后跳到另外一个页面 2 像 @PhpNewnew 说的,使用AJAX提交 使用AJAX POST的时候,要注意提交按钮的“锁定”。3 给表单赋上一个唯一的uniqid,提交表单的时候检查此值。

表单重复填写比较麻烦,有什么方法解决吗?
二、防止表单重复提交的方法 a>禁掉提交按钮。表单提交后disabled现在的按钮或者取消该按钮的点击事件或者默认事件。这种方法防止心急的用户多次点击按钮。但有个问题,如果在客户端把Javascript给禁止掉,这种方法就无效了,当然现代的web站点来说,应该很少了。b>Post\/Redirect\/Get模式。在提交后执行页面重...

php页面提交失败如何放回php页面提交失败如何放回桌面
参考地址:http:\/\/bbs.phpchina.com\/thread-90346-1-1.html PHP如何解决刷新页面表单重复提交?最常用的方法就是利用token。即:1、在生成页面的时候生成一个token(随机字符串),并把它同时写入表单的某个hidden中,和服务端的session中。2、客户端提交表单到服务器时,比对表单中的token与session中...

PHP网络编程标准教程的目录
第5章 PHP与Web页面交互 0855.1 表单数据的提交方式 0865.1.1 通过GET方法提交数据 0865.1.2 通过POST方法提交数据 0875.2 获取提交的表单数据 0885.2.1 获取按钮的数据 0885.2.2 获取文本区域的数据 0895.2.3 获取单选按钮的数据 0905.2.4 获取复选框的数据 0915.2.5 获取列表框的数据 0925.2.6 获取文本...

php 提交表单到当前页面如何防止页面刷新重复提交~
1、在生成页面的时候生成一个token(随机字符串),并把它同时写入表单的某个hidden中,和服务端的session中。2、客户端提交表单到服务器时,比对表单中的token与session中的token是否一致。若不一致则认为是无效的请求。3、不管第2步的校验是否通过,token只要使用一次后就立即作废(即:从session中销毁...

相似回答