V9版的浏览记录 感谢原作者分享

最近一个项目需要用到 记得以前收藏过一个浏览记录帖子 就看了一下 发现是2008的版本 那么小做修改 变成V9版本的了 感谢原作者.

20131113更新只能读取一个浏览记录BUG 改代码时不小心改到了….居然没人反馈啊

作者原帖 http://bbs.phpcms.cn/forum.php?mod=viewthread&tid=136719

论坛上看见过浏览记录的解决方案。但如果要实现的话需要修改源文件,并且需要动态页面才可以调用。且没有详细的操作步骤。
相信会有不少人需要,在参考了PC文章的浏览记录后,解决如下:
1、不需要改动原来文件。新增一个文件及一个模板文件。
2、静态页面AJAX调用。

步骤:
1、根目录下新增文件readid.php

 <?php
    header("Cache-Control: no-cache, must-revalidate");
    include 'phpcms'.DIRECTORY_SEPARATOR.'base.php';
    pc_base::load_sys_class('param', '', 0);
    $contentid = isset($_GET['contentid']) ? intval($_GET['contentid']) : 0;
    $readid = param::get_cookie('readid');
    $readid = intval($readid);
    $action = $_GET['action'];

    if($readid)$readwhere = $readid;
    switch($action)
    {
    case 'read':
      if($contentid){
       if($readid)
        {
         $readid = $contentid.','.$readid;
         $tmp = explode(",",$readid);
         $tmp = array_unique($tmp);
         while(count($tmp) > 10)array_pop($tmp);
         $readid = implode(",",$tmp);
        }
        else $readid = $contentid;
        param::set_cookie('readid',$readid,time()+3600*365*24);
      }
    break;

    case 'list':
      include template('content', 'read_fang');
    break;
    }
    ?>

2、新增模板文件read_fang.html

 <ul>

    {if $readwhere}

    {pc:get sql="SELECT * FROM `phpcms_news` WHERE id IN ($readwhere) AND status = '99' ORDER BY FIND_IN_SET(id,'$readwhere')" num="10"}
    {loop $data $key $r}
    <li><a href="{$r[url]}" title="{$r['title']}">{$r['title']}</a></li>
    {/loop}
    {/pc}

    {else}

    <li>您还没有浏览过信息</li>

    {/if}

    </ul>

3、静态页面调用:
(1)、需要调用的内容页面模板文件,如show.html,加上:

 <script language="JavaScript" src="readid.php?contentid={$contentid}&action=read"></script>

(2)、浏览页调用:

先添加JS代码:

  <script type="text/javascript">
    $(document).ready(function(){
    $('#readhouse').load("readid.php?action=list");
    });
    </script>

在需要浏览记录显示的地方,添加:

 <div id="readhouse"><img src="images/loading.gif" align="absmiddle"> 数据加载中</div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值