下载鸥 > 网站下载 > 开发教程 > 帝国CMS

帝国cms怎样记录会员浏览信息历史记录?

427 2021-03-28 23:47:12

收藏
帝国cms论坛早已有了以cookie形式保存浏览量历史记录在客户端的插件,但这样不是很安全,而我们通过数据库记录的数据,对于客户的隐私保护明显要好的多,以下就是帝国cms数据库保存模式记录会员的浏览记录信息的实现过程。

1、首先新建一张表
帝国后台--系统--备份数据--执行sql:
注意:这里是gb2312的编码,大多数用户的帝国cms是utf-8版本,请根据自己的实际情况决定编码格式。
CREATE TABLE `3`.`phome_ly_recorduser` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`userid` INT( 10 ) NOT NULL ,
`text` TEXT CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;

2、在需要记录信息的内容模板中插入以下代码:(注意-需要先引入jquery.js 下面代码要在jquery插件后面在插入)
<script>
//栏目ID
var classid = [!--classid--];
//信息ID
var id = [!--id--];
//表名称<script>
//栏目ID
var classid = [!--classid--];
//信息ID
var id = [!--id--];
//表名称
var tbname = '<?=$class_r[$navinfor['classid']]['tbname']?>';
//登陆用户
var userid = <?=$lguserid=intval(getcvar('mluserid'))?>;
$(function(){
    if(userid)
    {
    $.post(
        '/ly/recorduser/index.php',
        {
            userid:userid,
            classid:classid,
            id:id,
            tbname:tbname
        },"html");
    }
})
</script>

3、处理函数:

可以自己复制代码,也可以直接下载压缩包
文件路径 根目录/ly/recorduser/index.php
<?php
require('../../e/class/connect.php');        //引入数据库配置文件和公共函数文件
require('../../e/class/db_sql.php');        //引入数据库操作文件
include('../../e/class/functions.php');

$link=db_connect();                //连接MYSQL
$empire=new mysqlquery();        //声明数据库操作类
        
if(!$_POST['userid'])
{
        exit;        
}

//查询是否已有userid
if($user=$empire->fetch1("select * from {$dbtbpre}ly_recorduser where userid = {$_POST['userid']}"))
{
        //格式化字符串
        $text="{$_POST['tbname']}@@@{$_POST['classid']}@@@{$_POST['id']}";        
        //信息分隔符
        $dot='';
        //判断是否已有记录数
        if(strstr($user['text'],$text))
        {
            //已有记录
            die;        
        }
        if($user['text']!='')
        {
            $dot='::::::';
        }
        
        //大于10调记录数去掉最后的一条信息
        if($user['text'] && substr_count($user['text'],$dot)>=9)
        {
            //去除最后一条记录数
            $arr=explode('::::::',$user['text']);
            $arrtext='';
            $dot1=$dot;
            for($i=0;$i<count($arr);$i++)
            {
                if($i!=(count($arr)-1))
                {
                    if($i==(count($arr)-2))
                    {
                        $dot1='';        
                    }
                    $arrtext.=$arr[$i].$dot1;
                }
            }
            $text.=$dot.$arrtext;
        }
        else
        {
            $text.=$dot.$user['text'];
        }
        //不存在的记录数、更新表
        $empire->query("update {$dbtbpre}ly_recorduser set `text` = '{$text}' where userid = {$_POST['userid']}");
}
//没有记录数插入一条
else
{
    $text="{$_POST['tbname']}@@@@{$_POST['classid']}@@@{$_POST['id']}";        
    $sql=$empire->query(" INSERT INTO `{$dbtbpre}ly_recorduser` (`id`,`userid`,`text`) VALUES ( '' , {$_POST['userid']} , '{$text}' ) ");
}
?>

4、在需要查看的位置插入以下代码:
<ul>
<?php
$record=$empire->fetch1("select * from {$dbtbpre}ly_recorduser where userid = $user[userid]");
if($record)
{
    $info=explode("::::::",$record['text']);
    $text='';
    foreach($info as $v)
    {
        $arr=explode("@@@",$v);
        $sql=$empire->fetch1("select * from {$dbtbpre}ecms_{$arr[0]} where classid = {$arr[1]} and id = {$arr[2]}");
        $titleurl=sys_ReturnBqTitleLink($sql);
        $text.="<li><a href='{$titleurl}' target='_blank'>{$sql[title]}</a></li>";
    //print_r($arr);
    //die;        
    }
}
?>
<?=$text?>
</ul>
 

本文地址:https://xzo.com.cn/develop/empire/762.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于帝国CMS


帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用

当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。

推荐帝国CMS开发教程
帝国CMS调用新浪iplookup接口实现不同ip跳转不同城市分站
帝国CMS调用新浪iplookup接口实现不同ip跳转不同城市分站

让不同城市的访客在访问页面时跳转到对应的城市站才能带来更好的体验,而新浪...

1 348
帝国cms网站被攻击了怎么办?
帝国cms网站被攻击了怎么办?

如果对被攻击一无所知,也没有听说过CC、DDoS的概念,那被攻击以后,只能懵逼等到...

1 384
帝国cms封装自定义函数实现用户发布数统计
帝国cms封装自定义函数实现用户发布数统计

在帝国cms会员开发的过程中,我们经常需要展示用户文章发布数统计。如果每次...

1 290
帝国cms灵动标签调用友情链接的多种形式
帝国cms灵动标签调用友情链接的多种形式

帝国cms怎样用灵动标签调用友情链接?又要怎样区分链接有没有图片、友情链接...

1 426
帝国cms显示的发布时间与实际发布时间相差了8小时怎么办?
帝国cms显示的发布时间与实际发布时间相差了8小时怎么办?

有少量客户在使用帝国cms建站时发现一个问题:帝国cms显示的发布时间与真实的...

0 394
360蜘蛛抓取帝国cms后台目录威胁网站安全
360蜘蛛抓取帝国cms后台目录威胁网站安全

使用360极速浏览器已经很长时间,一直感觉用起来相当不错。一方面有chrome的...

0 493
帝国cms网站怎样判断是动态、静态还是伪静态?
帝国cms网站怎样判断是动态、静态还是伪静态?

对于资深一点的站长或者SEO来说,一定会经常听到动态、静态、伪静态这类的词...

0 491
填坑笔记:帝国cms栏目部分页面无法访问的原因与解决办法
填坑笔记:帝国cms栏目部分页面无法访问的原因与解决办法

在网站开发的过程中,我们可能因为这样那样的问题遇到无数的出错。有可能是代...

0 384
推荐插件
帝国cms百度AI图像清晰度增强api接口对接插件
帝国cms百度AI图像清晰度增强api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像清晰度增强的功能。经...

0 417
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 630
帝国cms百度AI图像无损放大api接口对接插件
帝国cms百度AI图像无损放大api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像无损放大的功能。经过...

0 350
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 799
帝国cms百度AI图像去雾api接口对接插件
帝国cms百度AI图像去雾api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...

0 373
帝国cms百度、必应bing、神马推送增强收录三合一插件
帝国cms百度、必应bing、神马推送增强收录三合一插件

因客户需要一键推送到多平台,下载鸥开发了这款一键推送至百度、必应、神马插...

0 33
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

0 460
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 376
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入