检查模板文件中是否包含{get_views($catid,$id)}等浏览量统计代码,若缺失则手动添加并清除模板缓存;2. 查看页面是否通过js统计浏览量,使用浏览器开发者工具检查js文件加载与执行情况;3. 登录phpcms后台确认“内容设置”中已开启浏览量统计功能,并排查插件或自定义字段干扰;4. 检查数据库连接状态,修复可能损坏的数据库表,确保hits表数据正常;5. 清理phpcms的模板缓存、数据缓存及cdn缓存;6. 若问题仍存在,可在show.html中插入提供的php代码手动实现浏览量统计;7. 禁用所有插件后逐一启用,定位是否由插件导致统计失效;8. 浏览量清零时需检查数据库表是否损坏或被清空,清理缓存,排查程序bug或服务器问题;9. 自定义浏览量样式可通过修改模板html结构、添加css样式或调整js和php代码实现;10. 防止恶意刷量可采用ip访问频率限制、cookie记录、验证码、js验证或第三方反作弊服务,示例代码可实现同一ip 60秒内仅允许访问一次。

PHPCMS内容页浏览量不统计,可能是模板问题、缓存问题,或者数据库连接出了点小状况。先别慌,一步步排查,总能找到原因。
解决方案
检查模板文件:
立即学习“PHP免费学习笔记(深入)”;
/templates/{你的模板}/content/目录下,比如show.html)。{get_views($catid,$id)}这样的标签。如果找不到,就手动加上。检查JS调用:
检查PHPCMS后台设置:
检查数据库连接:
排查缓存问题:
代码示例 (手动增加浏览量统计):
show.html模板文件中,找到合适的位置(比如文章内容下方),加入以下PHP代码:<?php
$db = pc_base::load_model('hits_model');
$hitsid = 'c-'.$catid.'-'.$id;
$r = $db->get_one(array('hitsid'=>$hitsid));
if(!$r){
$db->insert(array('hitsid'=>$hitsid,'catid'=>$catid,'id'=>$id,'views'=>1,'yesterdayviews'=>0,'dayviews'=>0,'weekviews'=>0,'monthviews'=>0));
} else {
$db->update(array('views'=>'+=1'),array('hitsid'=>$hitsid));
}
$r = $db->get_one(array('hitsid'=>$hitsid));
echo '浏览次数:'.$r['views'];
?>* 这段代码会直接操作数据库,增加浏览量。注意替换`$catid`和`$id`为实际的栏目ID和文章ID。
PHPCMS浏览量突然清零怎么办?
浏览量突然清零,可能是数据库问题、缓存问题或者程序BUG。
hits表的数据是否丢失或被清空。如何自定义PHPCMS浏览量统计的显示样式?
自定义浏览量显示样式,主要修改模板文件。
show.html),找到显示浏览量的代码。<span class="views">浏览次数:<em id="hits"></em></span>
<style>
.views {
color: #999;
font-size: 12px;
}
.views em {
font-style: normal;
color: red;
}
</style>
<script language="JavaScript" src="{JS_PATH}jquery.min.js"></script>
<script language="JavaScript" src="{JS_PATH}jquery.cookie.js"></script>
<script src="{JS_PATH}content_addtop.js"></script>
<script type="text/javascript">
$(function(){
$.get("{APP_PATH}index.php?m=content&c=content&a=hits&catid={$catid}&id={$id}", function (data) {
$("#hits").html(data.views);
}, "json");
});
</script>PHPCMS如何防止恶意刷浏览量?
防止恶意刷浏览量,可以从以下几个方面入手:
<?php
session_start();
$ip = $_SERVER['REMOTE_ADDR'];
$time = time();
$interval = 60; // 限制60秒内只能访问一次
if (isset($_SESSION['last_visit_time']) && $_SESSION['last_visit_time'] + $interval > $time && $_SESSION['last_visit_ip'] == $ip) {
exit('访问过于频繁,请稍后再试');
}
$_SESSION['last_visit_time'] = $time;
$_SESSION['last_visit_ip'] = $ip;
?>这段代码会限制同一IP在60秒内只能访问一次。
以上就是PHPCMS内容页浏览量不统计的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号