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

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

601 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创建新栏目乱码怎么办?
帝国CMS创建新栏目乱码怎么办?

经常会有用户朋友反馈说新建的栏目页面怎么不对,或者说新建栏目怎么乱码了?总...

15 844
帝国cms安装模板里没有install文件夹怎么办?
帝国cms安装模板里没有install文件夹怎么办?

许多客户在使用帝国cms建站后想要再做一个网站,但复制所有的文件到新服务器...

0 564
帝国cms网站被攻击了怎么办?
帝国cms网站被攻击了怎么办?

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

1 530
帝国cms无法加载360站长平台的js推送代码怎么办?
帝国cms无法加载360站长平台的js推送代码怎么办?

如果直接在帝国cms模板中插入360推送代码,会发现在插入360推送代码后,无法正...

7 727
帝国cms后台取消单个账号不允许同时在线
帝国cms后台取消单个账号不允许同时在线

帝国cms默认是一个账号只能一个人登陆,其他人登陆时之前在线的用户将被挤下...

3 1528
织梦、帝国cms、Wordpress的区别/哪个更好?
织梦、帝国cms、Wordpress的区别/哪个更好?

织梦、帝国以及wordpress,国内建站领域占据最大份额的就是这3家公司了。但,他...

0 638
帝国cms点击切换视频播放源功能操作流程
帝国cms点击切换视频播放源功能操作流程

帝国cms的视频播放功能比较强大,支持的视频源格式也比较多。但除了使用帝国c...

1 614
帝国cms怎样在列表循环list.var中插入广告?
帝国cms怎样在列表循环list.var中插入广告?

帝国cms程序广泛应用于各行各业的网站建设,其安全性高、性能强大。但网站建...

3 563
推荐插件
帝国cms自动给正文关键词添加tag内链
帝国cms自动给正文关键词添加tag内链

帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...

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

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

0 551
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

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

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

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

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

0 1042
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...

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

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

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

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

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