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

php 提交表单到当前页面如何防止页面刷新重复提交~
最新回答
安静的河

2026-05-13 00:56:36

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

这样,即便客户端重复提交,也只有第一次的请求能够成功。
我恋↘爱乐

2026-07-14 20:12:37

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


示例代码:

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