单击提交按钮后按f5

时间:2012-10-18 03:16:12

标签: php javascript jquery internet-explorer

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

有没有办法可以使用f5停用javascript按钮?这是解决这个问题的最好方法吗?我尝试过很多我在网上找到的脚本,但是没有一个能实现它。有没有更好的方法可以解决这个问题?也许来自申请方?

2 个答案:

答案 0 :(得分:1)

编辑:如果声明奖金的结果是数据库,您可以在确认屏幕上加载现有的声明并测试已存在的声明。


编辑:你可以做的另一个巧妙的技巧是serailize / json_encode $ _POST并从中产生一个哈希值,将其存储在数据库或用户会话中,并对其进行测试。


我会为表单生成并将数据库的单个使用令牌(哈希)作为隐藏字段进行数据库生成,如果对数据进行重新汇总,则该令牌已经被使用,并且您可以使该帖子请求无效。

答案 1 :(得分:0)

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

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

我一直在使用第二种方法(使用会话)并且它确实运行良好。