[英]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.