[英]How do i make a count that counts the number of page-views?
我想計算用戶訪問過的總頁數。 問題出現在我的代碼中,當用戶訪問該頁面時,計數器增加1,這是可以的,但是當用戶多次刷新頁面時,計數器會不斷增加。 我想在第一次訪問用戶時增加計數器,但是在刷新頁面時不會。 我該如何解決這個問題?
使用會話 。
<?php
session_start();
if (!isset($_SESSION['visited']))
{
$_SESSION['visited'] = 1;
//increase the page view counter...
}
但是,如果用戶已禁用cookie,則此操作無效,因為沒有cookie支持使瀏覽器無法保留會話ID(這是會話工作所必需的)。 因此,在沒有cookie的瀏覽器中刷新仍然會產生太多的點擊。
要處理這些情況,您可以記住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'];
?>
您可以使用cookies。 在訪問時檢查是否設置了cookie,如果沒有為頁面設置cookie(cookie的生命周期可能根據你的需要而有所不同),只有在沒有設置cookie的情況下才更新計數器。 如果您需要反復雜亂 - 而不是使用像谷歌分析這樣的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.