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

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

524 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账号/密码/认证码如何重置

部分用户一段时间没有登录后台,或是换了机器忘记了帝国CMS账号/密码/认证码,...

16 1151
帝国cms父栏目数据为空怎么办?
帝国cms父栏目数据为空怎么办?

帝国CMS一级栏目和二级栏目使用同一个模板,二级栏目是终极栏目,调用本栏目数...

8 991
帝国cms百度推送插件怎样将http改成https
帝国cms百度推送插件怎样将http改成https

帝国cms百度推送插件流传十分广,但有些https站点却推送了http的链接,这无疑十...

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

帝国cms论坛早已有了以cookie形式保存浏览量历史记录在客户端的插件,但这样...

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

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

1 360
帝国cms怎样判断会员是否登录的状态?
帝国cms怎样判断会员是否登录的状态?

许多站点需要做帝国cms会员投稿的功能,不仅可以借此盈利,还能有效促进seo排名...

0 405
帝国cms怎样让不同的会员组浏览不同的内容?
帝国cms怎样让不同的会员组浏览不同的内容?

很多帝国cms站点设置了多级会员,不同的会员具备不同的浏览下载权限。在这个...

0 451
怎样防止帝国cms广告被广告插件屏蔽?
怎样防止帝国cms广告被广告插件屏蔽?

帝国cms广告挺好用的,但因为ad标识太明显,容易被浏览器广告插件屏蔽。那么,我...

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

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

0 467
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1310
帝国cms自动给正文关键词添加tag内链
帝国cms自动给正文关键词添加tag内链

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

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

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

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

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

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

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

0 451
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

0 1308
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...

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