PHP怎么做到统计单篇文章的浏览量
本人初学PHP,想自己做一个博客系统,现在做到后台文章的功能,怎么可以实现数据库储存单篇文章的浏览量,且相同IP或者客户端IP浏览时不增加访问量,网上百度到的有些说用SE...
本人初学PHP,想自己做一个博客系统,现在做到后台文章的功能,怎么可以实现数据库储存单篇文章的浏览量,且相同IP或者客户端IP浏览时不增加访问量,网上百度到的有些说用SESSION记录IP,如果没有SESSION数据库那篇文章的浏览量+1,那如果我浏览了一篇文章,创建了SESSION后,再浏览另外一篇不就增加不了浏览量了吗?而且SESSION不是会过期吗?还有说用数据库记录IP的,那应该怎么存多个IP进浏览量那个字段里,读是怎么读出来,还有那浏览量多数据库不是要存很多IP吗?那每次搜索有没有那个ip响应时间不是很慢吗?还有如果说用日志的,说日志记录浏览量,固定时间更新一次数据库,具体是怎么实现的呢?那种方法比较好,麻烦给下具体思路,求个高手解答一下,谢谢。
展开
推荐于2017-11-23
展开全部
先给储存相应文章的数据表增加一个记录访问量的字段。
1, 可以每访问一次,字段数量加一,但是这样会不准确,因为只要刷新一下,就会记录一下。
2, 为了防止上面的情况发生,可以记录访问者的IP地址,重复的IP地址访问,只记录一次。
3, 但是,一个IP地址,只记录一次,也有问题,比如,一个局域网,多个访问者,共用一个IP地址,这样也会记录不准确。所以最好,一个IP地址一定时间内访问记录一次。这样相对好一点。
4, 不过,即使记录IP地址,但是也有可能有恶意的用户通过切换IP,或者通过刷票软件来刷访问量。这些问题,还需要更深的研究一下,怎么应对。
比如:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
//循环对比数据表中储存的IP,如果IP存在,不再记录
$query = mysql_query("select * contetns where ip = '".$ip."'");
if(mysql_num_rows($query) > 0){
//IP存在
}else{
//记录访问量
}
?>
1, 可以每访问一次,字段数量加一,但是这样会不准确,因为只要刷新一下,就会记录一下。
2, 为了防止上面的情况发生,可以记录访问者的IP地址,重复的IP地址访问,只记录一次。
3, 但是,一个IP地址,只记录一次,也有问题,比如,一个局域网,多个访问者,共用一个IP地址,这样也会记录不准确。所以最好,一个IP地址一定时间内访问记录一次。这样相对好一点。
4, 不过,即使记录IP地址,但是也有可能有恶意的用户通过切换IP,或者通过刷票软件来刷访问量。这些问题,还需要更深的研究一下,怎么应对。
比如:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
//循环对比数据表中储存的IP,如果IP存在,不再记录
$query = mysql_query("select * contetns where ip = '".$ip."'");
if(mysql_num_rows($query) > 0){
//IP存在
}else{
//记录访问量
}
?>
七鑫易维信息技术
2024-09-02 广告
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分...
点击进入详情页
本回答由七鑫易维信息技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询