我想統計用戶訪問的頁面總數。問題出在我的代碼中,當用戶訪問頁面時,計數器增加1,這沒問題,但是當用戶刷新頁面很多次時,計數器不斷增加。我想在第一次訪問用戶時增加計數器,但不是在刷新頁面時增加計數器。我該如何解決這個問題?我如何計算頁數視圖的次數?
回答
最好的方法是使用一些js跟蹤器,如Google Analytics.。
特定用戶的會話時間應該是多少? – user2354209
那麼你可以在會話期間存儲cookie,並且每次cookie沒有被設置時(每次用戶關閉瀏覽器並進入你的頁面)都會增加cookie。或者您可以將cookie存儲到最後,因此您將每24小時跟蹤一次獨特訪客。 –
它仍然不值得用PHP來實現,更好地使用js跟蹤器。它已經關心刷新等等,它會給你更多的信息,比你自己收集。 –
使用sessions。
<?php
session_start();
if (!isset($_SESSION['visited']))
{
$_SESSION['visited'] = 1;
//increase the page view counter...
}
然而,這也不會,如果用戶已禁用Cookie的工作,因爲沒有cookie支持,使瀏覽器無法保持會話ID(這是必要的會議工作)。因此,在瀏覽器中不刷新cookies仍然會產生太多的點擊。
要處理這些情況,您可以記住IP($_SERVER['REMOTE_ADDR']
)並檢查給定IP是否已訪問您的頁面。請注意,該解決方案仍然很脆弱 - 依賴使用代理服務器的「複雜」攻擊仍然能夠計入太多的點擊次數。
最好的選擇是使用外部跟蹤系統,如Google Analytics。
嘗試使用會話,一個很簡單的例子是:
<?php
session_start();
$counter = 0;
if(! isset($_SESSION['visited'])):
$counter +=1;
$_SESSION['visited'] = TRUE;
$_SESSION['counter'] = $counter;
endif;
echo $_SESSION['counter'];
?>
最新$ _SESSION ['visited']? – user2354209
$ _SESSION ['visited']是一個未初始化的會話,首次訪問時該值爲null。一旦用戶第一次訪問,它總是結果爲TRUE,然後在if語句中設置值,以便每當頁面重新加載時,if語句都將導致FALSE。 –
您可以使用Cookie來此。在訪問時檢查是否設置了cookie,如果沒有設置頁面的cookie(cookie的生命週期可能取決於你想要的),只有在未設置cookie時更新計數器。 如果您需要將計數器變得複雜 - 比使用Google Analytics等更好。
- 1. 計算我的網頁點擊次數
- 2. 如何計算網頁刷新次數
- 3. 如何在AngularJs視圖中多次顯示相同的計算值,只需調用一次計算函數
- 4. 如何計算Go的迭代次數?
- 5. 如何計算Div的瀏覽次數?
- 6. 視圖與頁面計算
- 7. 計算我訪問線程的次數
- 8. 在JavaScript中,如何計算刷新頁面的次數
- 9. views次數計算
- 10. 如何計算「視圖」?
- 11. ASP.NET MVC - 我如何計算在總和和計數的總值視圖
- 12. 如何計算出現次數
- 13. 如何計算瀏覽次數?
- 14. YouTube如何計算其觀看次數?
- 15. 如何計算Postscript中的頁數
- 16. 使YouTube計算我的「自動播放」點擊次數作爲視圖
- 17. 如何計算頁面瀏覽次數? (PHP)
- 18. 如何計算我訪問特定域的次數?
- 19. 我如何計算一個字符串中出現的次數?
- 20. 如何計算重複的數字,寫多少次我
- 21. Lucene。我如何計算每個文檔的點擊次數?
- 22. 我如何計算小數爲實數?
- 23. 如何計算點擊了我的圖像按鈕的次數* LUA *
- 24. 計算頁面視圖數量的最佳方法
- 25. Drupal下載計數模塊 - 如何計算下載次數
- 26. 計算頁面視圖的邏輯
- 27. Powershell - 我如何在我的數組中計數發生次數
- 28. 我如何統計顯示頁面中的瀏覽次數rails
- 29. 如何計算我的數據庫中的文件被下載的次數?
- 30. 如何計算四元數旋轉的相反視圖?
用戶cookie作爲標識 – softsdev
您應該記錄用戶ip和日期時間,在訪問時檢查它是否已經訪問過該頁面,如果沒有增加計數。例如,您也可以將時間間隔限制爲半小時,並且您可以每天截斷該表,以便它不會填滿太多空間。 – Aleeeeee
您可以做一些事情來防止:A)使用cookie /會話B)檢查用戶IP,useragent – Prix