繁体   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