3

编辑解决方案:

我仍然不知道它为什么要进行复式输入,但目前我已经做了一些技巧。

我在表单中添加了一个 UID 令牌,生成了一个 MD5 并将其与 DB 条目一起存储。该脚本会检查条目是否已存在。如果是,它会传递条目 ID,如果不是,它会添加一个新的,然后传递 ID 以用于最终确认消息。

幸运的是,表单甚至是 UID 的两倍,所以我能够抓住它。如果是两个不同的UID,那我可能有问题了,哈哈。

我想给 PeeHaa 加分,因为如果其他人发现这个问题,我希望其他人也知道 Post、Redirect 和 Get 是一种很好的编码实践。(发布到您的插入脚本,从页面重定向到确认页面,并使用 GET 获取要显示的值)。

以前的内容:

好的,这是非常基本的。

我知道这里已经被问了无数次了,但是现有的问题都与我的问题无关。

基本的 HTML 表单。没有花哨的 jQuery 或任何东西。

<form id="attendee_confirm" class="regform" method="post" action="http://url.com/wip/events/register/?">
<input name="attendee[0][first_name]" value="Bruce">  
<input name="attendee[0][last_name]" value="Wayne">


<input type="hidden" name="reg_form" value="true">
<input type="hidden" name="questions" value="true">
<input type="hidden" name="action" value="done_confirming">
<input type="hidden" name="event_id" value="1">

<input type="submit" name="mySubmit" id="mySubmit" value="Confirmed"> 
<input type="button" value=" &lt;-- BACK " onclick="history.go(-1);return false;">

</form>

为什么我的表格两次发布它的数据?我真的不明白这个。

这是确认表格。用户在填写完第一个表格后被带到这里,只是为了确认姓名。

第一种形式工作正常,并带来了适当的信息。第二个应该确认并发送电子邮件/流程。

表单发布两次,我只看到第二次尝试的输出。我无法从第一个获得任何输出。

因此,如果我尝试将会话令牌“捕获”添加到表单以尝试捕获重复条目,则允许第一次尝试通过,但用户只能看到第二次捕获。

这可能是服务器问题吗?我的服务器正在运行 ModSecure(最近让我很生气),我真的很沮丧。当我不应该...

编辑信息:

这发生在所有浏览器上,因此它不是特定于浏览器的。

我还尝试将捕获脚本设置为在接收到要处理的信息后重定向,但正如我所提到的,数据首先是由一些不可见的东西发送的,而用户看到的输出实际上是第二个数据。不是第一组。一切仍然翻倍。哎呀。。

服务器日志很糟糕。它发生在一篇文章中。我将仔细检查可能运行两次的脚本......

4

3 回答 3

0

I have find this problem more than once and I have feeling, that this problem is more rule than exception. Anybody can correct if they think that I am wrong and create good explanation why this is error in html code, because I haven't find errors in my code all these years.

于 2015-02-17T06:31:34.893 回答
0

我仍然不知道它为什么要进行复式输入,但目前我已经做了一些技巧。

我在表单中添加了一个 UID 令牌,生成了一个 MD5 并将其与 DB 条目一起存储。该脚本会检查条目是否已存在。如果是,它会传递条目 ID,如果不是,它会添加一个新的,然后传递 ID 以用于最终确认消息。

幸运的是,表单甚至是 UID 的两倍,所以我能够抓住它。如果是两个不同的UID,那我可能有问题了,哈哈。

我想给 PeeHaa 加分,因为如果其他人发现这个问题,我希望其他人也知道 Post、Redirect 和 Get 是一种很好的编码实践。(发布到您的插入脚本,从页面重定向到确认页面,并使用 GET 获取要显示的值)。

于 2012-09-07T13:15:53.193 回答
0

您的 ACTION 参数看起来有点古怪。为什么结尾有问号?您的方法是 POST,但您的 ACTION url 暗示该方法是 GET。

于 2012-09-06T15:49:14.047 回答