如何为phpcms2008网站添加一个浏览次数统计插件?

avatar
作者
猴君
阅读量:0
``php,function add_view($id) {, $sql = "UPDATE diypage SET views=views+1 WHERE id='$id'";, return $GLOBALS['db']>ExecuteNoneQuery($sql);,},``

在PHPCMS 2008中增加浏览次数的插件代码,可以通过以下几个步骤实现,以下是详细的操作指南和相关代码示例:

1. 验证用户权限

需要通过会话来验证用户的权限,确保只有具有相应权限的用户才能执行增加浏览次数的操作,这有助于防止恶意操作。

如何为phpcms2008网站添加一个浏览次数统计插件?

 session_start(); extract($_POST); require dirname(__FILE__) . '/include/common.inc.php'; $keyadmin = "www.bitefu.net"; if ($key && $key == $keyadmin) {     $_SESSION["NowKey"] = $keyadmin; } if ($_SESSION["NowKey"] && $_SESSION["NowKey"] == $keyadmin) {     // 继续执行后续操作 } else {     // 提示错误信息     echo "KEY错误";     exit(); } ?>

2. 选择增加类型

用户可以在表单中选择不同的增加方式,包括增加指定文章的浏览次数、增加指定范围内的文章浏览次数、增加指定栏目文章的浏览次数,以及增加公司活跃度等。

 选择增加类型:<br /> 指定ID: <input name="thisid" type="text" id="thisid" size="10" /><br /> ID范围: <input name="idstart" type="text" id="idstart" size="10" />到<input name="idend" type="text" id="idend" size="10" /><br /> 栏目ID: <input type="hidden" name="catid" id="catid" value="all">全部 <font color="red">点击重选</font><br /> 增加值: <input name="addnum" type="text" size="10" value="<?=$addnum; ?>" /><br /> <input type="submit" name="submit" value="提交" />

3. 执行SQL更新操作

根据用户选择的增加方式,执行相应的SQL语句来更新数据库中的浏览次数字段,如果用户没有填写增加值,系统会提示“增加值不能为空”。

 <?php if ($submit && $addnum) {     if ($thisid) {         $sql = "update". DB_PRE . "content_count sethits =hits + " . $addnum . " wherecontentid='$thisid'";     } elseif ($idstart) {         $sql = "update". DB_PRE . "content_count sethits =hits + " . $addnum . " wherecontentid >= '$idstart'";         if ($idend) {             $sql .= " andcontentid <= '$idend'";         }     } elseif ($comid || $comstart || $comend || $comall) {         if ($comid) {             $sql = "update". DB_PRE . "member_info setlogintimes =logintimes + " . $addnum . " whereuserid='$comid'";         } elseif ($comstart) {             $sql = "update". DB_PRE . "member_info setlogintimes =logintimes + " . $addnum . " whereuserid >= '$comstart'";             if ($comend) {                 $sql .= " anduserid <= '$comend'";             }         } elseif ($comall && $comall == 1) {             $sql = "update". DB_PRE . "member_info setlogintimes =logintimes + " . $addnum;         } else {             $sql = '';         }     } elseif ($catid) {         if ($catid == "all") {             $sql = "update". DB_PRE . "content_count sethits =hits + " . $addnum;         } else {             $getid_query = mysql_query("selectcontentid from". DB_PRE . "content where status=99 " . get_sql_catid($catid));             while ($rs = mysql_fetch_assoc($getid_query)) {                 $getid[] = $rs['contentid'];             }             $idstr = implode(",", $getid);             $sql = "update". DB_PRE . "content_count sethits =hits + " . $addnum . " wherecontentid in ($idstr)";         }     } else {         $sql = '';     }     if ($sql && $submit) {         mysql_query($sql);         echo date("Ymd H:i:s") . "成功执行了添加操作,共影响数据:" . mysql_affected_rows() . " 条";     } elseif (!$addnum) {         echo "增加值不能为空!";     } } ?>

4. 动态加载栏目ID(可选)

为了提高用户体验,可以使用JavaScript动态加载栏目ID,使用户能够根据需要选择不同的栏目,这通常通过AJAX异步请求实现。

 function category_load(id) {     var data = 'id=' + id;     $.ajax({         type: "GET",         url: "load.php", //负责动态加载栏目ID的文件路径         data: data,         cache: false,         success: function (response) {             $('#load_catid').html(response);         }     }); }

5. 常见问题解答(FAQs)

问题1:为什么浏览次数没有增加?

解答:请确保您已经在后台开启了“开启栏目统计”和“显示浏览次数”选项,并检查内容显示页面show.html中是否正确引用了JavaScript代码,请确认PHPCMS2008使用的是JQuery库,避免自定义的$()函数与JQuery冲突。

问题2:如何增加指定范围内的文章浏览次数?

解答:在表单中输入起始ID(idstart)和结束ID(idend),然后提交表单,插件会根据这些参数生成相应的SQL语句来批量增加指定范围内的文章浏览次数,请确保增加值(addnum)不为空。


字段代码说明
插件文件名 bclick.php 插件文件名,通常与插件名称一致
插件文件内容 插件代码内容
<> PHP开始标签
if(!defined('IN_PHPCMS')) exit('Access Denied'); 判断是否在PHPCMS环境中运行,如果不是则退出
$id = $_GET['id']; 获取GET参数中的id值,通常是文章或内容的ID
$db = pc_base::load_model('content_model'); 加载内容模型,用于数据库操作
$data = $db>get_one(array('id'=>$id)); 根据id查询内容信息
if($data) { 如果内容存在,则执行以下代码
$data['clicks'] = $data['clicks'] + 1; 将点击次数加1
$db>update(array('clicks'=>$data['clicks']), array('id'=>$id)); 更新内容表中的点击次数
} }结束标签
echo $data['clicks']; 输出点击次数
?> PHP结束标签

使用方法

1、将上述代码保存为bclick.php 文件。

2、将bclick.php 文件上传到PHPCMS的phpcms/templates/ 目录下。

3、在需要显示点击次数的位置,使用以下代码:

 <a href="index.php?m=content&c=index&a=show&catid=1&id=123">文章标题</a> 点击次数:<script src="templates/default/bclick.php?id=123"></script>

注意

1、将catidid 替换为实际的文章或内容ID。

2、确保插件文件名与代码中的bclick.php 一致。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!