首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >点击提交按钮后点击f5

点击提交按钮后点击f5
EN

Stack Overflow用户
提问于 2012-10-18 03:16:11
回答 2查看 640关注 0票数 5

我有一个PHP应用程序,用户可以在那里申请奖金。但在奖金赎回代码运行之前,有一个确认页面。问题是,在IE中,如果在单击“继续”按钮后立即按下f5,则确认页会刷新,而奖金赎回代码已经由“继续”按钮触发并实际通过。但是因为用户仍然看到确认页面,他们会再次按下“继续”按钮,现在他们得到了一个错误,因为他们已经注册了。

是否有一种方法可以禁用f5按钮使用javascript?这是最好的办法吗?我已经尝试过很多我在网上找到的脚本来完成这个任务,但是没有一个脚本能做到这一点。有什么更好的方法吗?也许是在申请方面?

EN

回答 2

Stack Overflow用户

发布于 2012-10-18 03:28:04

编辑:如果申请奖金的结果是数据库的,你可以加载现有的索赔在您的确认屏幕上,并测试一个已经存在。

编辑:您可以做的另一个巧妙的技巧是serailize/json_encode $_POST并由此生成一个散列,将其存储在数据库或用户会话中,并对其进行测试。

我将为表单生成一个单独的使用令牌(散列)作为隐藏字段,如果将post数据重新加和,则该令牌已经被使用,您可以使post请求无效。

票数 1
EN

Stack Overflow用户

发布于 2012-10-18 06:30:34

有几种方法可以解决您的问题:

结帐:http://bjw.co.nz/developer/general/75-how-to-prevent-form-resubmission

我一直在使用第二种方法(使用会话),它真的很好用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12946541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档