2009-10-15 42 views
1

我在PHP中有一個簡單的表單驗證類。它的工作原理是這樣的:PHP表單驗證+ cookies = Firefox緩存問題?

答:表單頁面的結果到驗證頁面

驗證:檢查結果。如果錯誤,請使用錯誤字段的名稱和每個輸入錯誤的消息來設置Cookie。使用標題位置屬性返回到表單頁面。答:如果存在cookie,則打印與每個字段以及表單的其餘部分相關的錯誤消息。

這適用於所有瀏覽器,但Firefox。 Firefox正在設置並刪除co​​okies。但是,當VALIDATION將用戶發送回頁面A時,會出現上次輸入錯誤的相同錯誤消息。儘管餅乾與上次不同,但這一點。

我試着用下面幾行無效緩存,但沒有運氣:

標題(「緩存控制:無緩存,無店鋪,必重新驗證」);

任何人都知道發生了什麼事?

回答

2

這似乎是一個糟糕的主意,使這種反覆重定向。驗證可以通過輸出數據輸入頁面的相同腳本完成。如果您檢測到出錯,您只需將錯誤代碼插入到表單中,其中包含用戶數據。如果一切正常 - 然後將用戶重定向到成功頁面。反之亦然。

+0

+1。此外,如果在多個選項卡中打開相同的頁面,則使用Cookie可能會導致衝突。 – 2009-10-15 15:58:40

0

這是我再次。我設法解決這個問題。問題? Firebug。我禁用並刪除了Firebug並開始工作!

+0

這很好,但是,我希望,無論如何,你會考慮我的建議;) – 2009-10-16 08:06:33