2013-04-16 110 views
4

我在跟蹤訪問我的網站的訪問者。我正在使用codeigniter來開發網站。我感興趣的是在關閉網頁之前跟蹤上次訪問的頁面。有沒有辦法做到這一點?跟蹤最後一頁已被屏蔽

我一直在想的是將他們上次訪問的頁面保存在會話中,然後關閉保存數據庫中的信息。當用戶關閉瀏覽器或網站(瀏覽器中的選項卡)或當他們點擊鏈接(在網頁中)並被重定向到另一個網站時會發生什麼?它是否向服務器發送關閉連接請求?

跟蹤它的最佳方法是什麼?

還想提一下訪客是公共的,他們不能登錄到網站。此外,我正在使用谷歌分析,但是什麼爲我的網站創建一個自定義的,以獲得更準確的結果。

回答

4

在正在加載的當前頁面上保存/更新數據庫條目。這樣,即使他們的計算機崩潰也不會記錄他們所在的最後一頁。如果以後他們回到網站(如果您需要此功能),您甚至可以將它們恢復到最後的地方。

+0

感謝您的提示。我每個月都會獲得大約14k位訪問者和42k次綜合瀏覽量。每天約500-700名訪問者,1800 - 2300頁面瀏覽量。通過編寫頁面訪問數據庫每次不會影響性能? –

+1

當然,它會需要一個小小的打擊,但這是一個非常小/快速執行查詢。如果您注意到性能問題,並且您的服務器正在努力發佈另一個問題來處理這個問題,我們將嘗試在跟蹤方法上獲得更多創造性。 – Danny

0

您可以將當前頁面存儲在用戶的會話中,當會話被破壞時,您可以使用session-set-save-handler獲取最後訪問的頁面。

另外,由於HTTP是無狀態的,您將永遠不會得到緊密的連接回調。

+0

謝謝,但我怎麼做到這一點?注意訪問者不註銷他們在他們的結尾關閉網站。說5分鐘後會話會超時。我如何編寫代碼來檢查codeigniter中的會話過期? –

+0

忘了提及codeigniter沒有使用php會話。 –

+0

如果你通過鏈接,你可以註冊一個回叫,比如close(),當會話超時時會調用它。您可以在回調中執行保存部分。 –