2010-06-25 88 views
3

据我所知,双重帖子永远是形式问题。Form Double Post Issue

我使用令牌服务器端方法来处理这个问题,但我发现它似乎并没有完美的工作。我已经将系统设置为为每个表单创建一个唯一标记,然后在SESSION发布后将其记录在SESSION中。

SESSION实际上是用户发布的每一种表单的数组(在SESSION过期时被重置),并且在每次提交时系统检查in_array()以查看该表单是否已经被发布。如果是这样,那就阻止他们。

似乎在生产系统不能将完成的令牌记录到SESSION中足够快地处理双击提交按钮。因此,重新访问旧页面的处理情况良好,但立即双击提交会产生问题。

不知道我能做些什么来解决这个问题。

+1

[en.wikipedia.org/wiki/Post/Redirect/Get](http://en.wikipedia.org/wiki/Post/Redirect/Get) – 2011-04-18 19:16:11

回答

1

如何通过单击(通过Javascript,使用onClick处理程序)时立即禁用提交按钮?这显然不能解决所有问题,但它可能涵盖系统不够快速将记录记录到SESSION中的情况。

0

我有这个问题以及我正在为公司工作的内部东西。根据我的经验,人们多次点击是因为他们不认为发生任何事情。我所做的是取消提交表单的能力,并显示某种信息说正在处理信息。

弹出div并只是禁用按钮效果很好。