2011-09-15 84 views
2

我已經寫了這個小網站,註冊和一切,我得到了一個點,我認爲我不太確定發生了什麼。 它首先作爲數據庫向我報告,我試圖寫入數據庫的用戶有一個重複的條目(它應該是唯一的),這真的讓我困惑,怎麼會有我重複?好。我花了三天的時間才意識到該頁面正在以某種方式被稱爲兩次!PHP Javascript頁面加載兩次

我把

$ _SESSION [ '一'] = 0;

$ _SESSION [ '2'] = 0;

相應地在頁面的最上部和最下部分。 然後我將它們都更改爲++,所以我可以檢查它們已經通過了多少次。

我使用網站發送的emaill的驗證鏈接,並測試了它們的值。

奇怪的是,'one' would equal 2 and 'two' would equal 1 ...

這說明正是爲什麼所有的工作登記明智的,但我得到了所有那些關於那些重複的錯誤。 雖然,我用螢火蟲跟蹤任何重定向,但看不到任何東西... 它顯示該頁面有12個GET和POST。 我希望能因此撞到重定向和調試,但很可惜,也許我不知道怎麼用螢火蟲來追蹤這些重定向...

我將不勝感激任何建議提前 謝謝!

+0

由於您使用的是螢火蟲,如果您打開「網絡」選項卡並使用重新加載按鈕刷新頁面,是否加載「網絡」選項卡,然後重新加載它? – jeffreydev

+4

我會建議顯示一些更多的代碼..? – Bruce

+0

如果你把按鈕放在a裏,當你點擊按鈕時,瀏覽器會向服務器發送2個請求。也許它會關閉第一個請求的連接,這就是'two'不增加的原因。 –

回答

1

就像我在評論中說,這裏是我和泰德工作的答案:

什麼做些什麼來解決它是改變我的文檔類型爲HTML 5,然後使用W3C驗證驗證頁面,這個問題只是發生在我的Firefox使用螢火蟲。

0

你有一些<img><script>src=""?或者,也許一些<link>樣式表的空href

是螢火蟲顯示你在淨選項卡,您的網站被稱爲兩次?

+0

我在這個過程中檢查爲什麼頁面加載兩次,我不太清楚如何看到它與螢火蟲,它似乎像在PHP中加載兩次頁面,如果是JavaScript的話,那麼我會通過螢火蟲知道這是正確的? – Ted

+0

不,不顯示它加載兩次,但我相信PHP運行兩次。這些空鏈接是否容易重新加載頁面btw? – Ted

+0

這些空鏈接只是將頁面作爲圖像,腳本或鏈接重新加載,如果此頁面是index.php。如果你沒有它在螢火蟲淨選項卡,所以我的回答不會幫助你。如果有可能在你的問題上做一些在線處理或者在你的問題中編寫代碼,或者嘗試評論一些代碼片段並重復情況 - 你應該確定是什麼片段做到這一點,然後我們可以幫助你:) –

0

這種問題通常發生在您遇到致命或其他不可忽略的錯誤時,這些錯誤會迫使PHP在處理請求的過程中儘早終止腳本。

查看錯誤日誌以瞭解發生的詳情。

0

它是導致頁面加載兩次的Firebug。顯然將doctype改爲html5 爲:

而不是html4已經重寫了該錯誤。 當你打算部署你的網站時,回到html 4,當然,始終保持服務器安全,免受此類錯誤的影響。在需要時使用數據庫約束,驗證和轉義。 希望這有助於,並感謝@jeffreydev!