簡體   English   中英

如何計算頁數視圖的數量?

[英]How do i make a count that counts the number of page-views?

我想計算用戶訪問過的總頁數。 問題出現在我的代碼中,當用戶訪問該頁面時,計數器增加1,這是可以的,但是當用戶多次刷新頁面時,計數器會不斷增加。 我想在第一次訪問用戶時增加計數器,但是在刷新頁面時不會。 我該如何解決這個問題?

最好的方法是使用谷歌分析等一些js跟蹤器

如果您不想跟蹤頁面刷新,可以使用cookie會話來存儲上次發生增量的時間戳,因此您不會增加直到它過期。

使用會話

<?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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM