2012-09-06 103 views
2

編輯的解決方案後兩次:HTML表單提交的帖子

我仍然不知道爲什麼它做複式,但暫且我已經做了一些黑客。

我在窗體中添加了一個UID令牌,生成一個MD5並將其與數據庫條目一起存儲。該腳本會檢查是否已經存在條目。如果確實如此,則會傳遞條目ID,否則會添加新條目,然後傳遞ID以獲取最終確認消息。

幸運的是,這個表格甚至使UID加倍,所以我能夠抓住它做到這一點。如果這是兩個不同的UID,那麼我可能有問題,哈哈。

我想要點轉到PeeHaa,因爲如果有人發現這個問題,我希望其他人也知道郵政,重定向和獲取是一個很好的編碼習慣。 (發佈到插入腳本,從頁面重定向到確認頁面,並使用GET獲取值以顯示)。

以前的內容:

OK,這是非常基本的。

我知道這裏已經被問過這麼多次了,但是現有的問題都沒有與我的問題相關。

基本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> 

爲什麼我的表單發佈了它的數據兩次?我真的不明白這一點。

這是一個確認表格。填寫第一個表單後,用戶會被帶到這裏,只是爲了確認名字。

第一個表單工作正常,並提供相應的信息。第二個應該確認併發送電子郵件/進程。

表單發佈兩次,我只看到第二次嘗試的輸出。我無法從第一個輸出得到任何輸出。因此,如果我嘗試添加會話令牌「捕捉」到表單以嘗試捕捉重複條目,則第一次嘗試可以通過,但用戶只能看到第二個catch。

這可能是一個服務器問題?我的服務器正在運行ModSecure(最近一直讓我失望),而且我非常沮喪。我越來越雙人入住我的活動時,我不應該...

編輯信息:

這發生在所有的瀏覽器,所以它是不特定瀏覽器。

我也嘗試過設置捕獲腳本來接收信息處理後重定向,但正如我所提到的,數據首先被一些看不見的東西發送,而用戶看到的輸出實際上是第二個數據。不是第一套。一切仍然翻倍。 Owf ..

服務器日誌是破產。它發生在一篇文章中。我要仔細檢查可能運行兩次的腳本.....

+0

無[PRG]頁面刷新(http://en.wikipedia.org/wiki/Post/Redirect/Get)? – PeeHaa

+0

您正在使用哪種瀏覽器?您安裝了哪些附件? – Lee

+0

PeeHaa>我想到了這一點,但沒有更新。至少不是手動的。頁面上也沒有用於刷新的代碼。所以除非點擊造成刷新和重新點擊,否則我不這麼認爲。 帖子被髮送到操作被拾取的服務器。然後基於該動作輸出不同的內容。如果我嘗試'發佈後重定向',它將無法工作。第一篇文章丟失了,只顯示第二篇文章。 –

回答

0

您的ACTION參數看起來有點時髦。爲什麼在它的最後有一個問號?您的方法是POST,但您的ACTION網址意味着該方法是GET。

+0

這是一個非常好的問題。我從來沒有注意到這個問號...... –

+0

沒有......它似乎沒有任何影響。刪除問號仍然有雙重發帖..呃。還是)感謝你的建議。 –

+0

我不知道問題出現在表單的ACTION指向的頁面上(http://url.com/wip/events/register/)。你可以發佈該代碼嗎? –

0

我仍然不知道爲什麼它會進行雙重輸入,但是暫時我做了一些黑客。

我在窗體中添加了一個UID令牌,生成一個MD5並將其與數據庫條目一起存儲。該腳本會檢查是否已經存在條目。如果確實如此,則會傳遞條目ID,否則會添加新條目,然後傳遞ID以獲取最終確認消息。

幸運的是,這個表格甚至使UID加倍,所以我能夠抓住它做到這一點。如果這是兩個不同的UID,那麼我可能有問題,哈哈。

我想要點轉到PeeHaa,因爲如果有人發現這個問題,我希望其他人也知道郵政,重定向和獲取是一個很好的編碼習慣。 (發佈到插入腳本,從頁面重定向到確認頁面,並使用GET獲取值以顯示)。

-1

我不止一次發現這個問題,我有感覺,這個問題比異常更規則。任何人都可以糾正,如果他們認爲我錯了,並創建好的解釋,爲什麼這是錯誤的HTML代碼,因爲我沒有發現我的代碼在這些年的錯誤。