关于“php表单重复提交”的问题,小编就整理了【5】个相关介绍“php表单重复提交”的解答:
防止web页面表单重复提交的方法有哪些?1.js方法解决:关于js方法解决就是说通过js动态控制提交按钮不能多次点击,或者多次点击不起作用。
方案一:通过设立标识使表单不能重复提交:
var flag=true; function Sub(){ if(flag){flag = false;document.form1.onsubmit();}}
方案二:一次点击后使得提交按钮变成不可用
<input type="button" value="login" onclick="this.disabled=true;this.form.submit();" />
总的来说,js解决方案是基本可以防止重复点击提交按钮造成的重复提交问题,但是前进后退操作,或者F5刷新页面等问题并不能得到解决。
最重要的一点,前端的代码只能防止不懂js的用户,如果碰到懂得js的编程人员,那js方法就没用了。
2.设置HTTP报头,控制表单缓存,使得所控制的表单不缓存信息,这样用户就无法通过重复点击按钮去重复提交表单。
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
如何在服务端程序中处理表单重复提交的问题?最常用的方法就是利用token。即:
1、在生成页面的时候生成一个token(随机字符串),并把它同时写入表单的某个hidden中,和服务端的session中。
2、客户端提交表单到服务器时,比对表单中的token与session中的token是否一致。若不一致则认为是
求助:PHP多表单提交问题,一个页面提交N多个表单?多个form怎么了?每个form是独立的,而且表单中action=""指向是不一样的!
一个表单无法同时提交多个页面,只有提交给一个页面后,再提交给下一个页面,就象安装软件时候的“下一步”一样,是一步一步的传递的
怎么解决刷新页面浏览器提示表单重复提交的问题?方法有很多:
1、用cookies,来实现。记录点击提交按钮后,间隔时间。
2、用session来记录。session等于空提交,不等于空,就不让提交。
3、JS来实现,点击按钮后,让提交按钮变灰色。
如何防止多次提交同一个表单?<script language="javascript" function="" button1_onclick(){form1.button1.disabled="true}formtest.asp < %Randomize '初始代随机数种子 num1=rnd() '产生随机数num1 num1=int(26*num1)+65 '修改num1的范围以使其是A-Z范围的Ascii码,以防表单名出错 session("antry")="test"&chr(num1) '产生随机字符串%< form name="test" action="testact.asp" method="post" 你的名字:< input type='text' name='' size=30 '注意本行中使用了随机表单项名 < input type='submit' value='提交' < /form 表单处理程序testact.asp< %teststr=request.form(session("antry")) if teststr="" then
response.write
到此,以上就是小编对于“php表单重复提交”的问题就介绍到这了,希望介绍关于“php表单重复提交”的【5】点解答对大家有用。