帝国cms如何开发一个会员浏览记录功能
时间:2024年03月31日
/来源:网络
/编辑:佚名
帝国CMS会员浏览记录插件主要解决了网站用户会员在登录之后浏览不同的页面都能记录到数据库,适用于任何的数据模型,安装简单快捷。
效果图:
第一步:帝国后台--系统--备份数据--执行sql:是utf8 编码的用下面SQL代码:
CREATE TABLE phome_ly_recorduser (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`userid` INT( 10 ) NOT NULL ,
`tbname` text NOT NULL,
`classid` int(10) unsigned NOT NULL default '0',
`time` varchar(255) NOT NULL default '',
`infoid` int(10) unsigned NOT NULL default '0',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
第二步:在需要记录信息的内容模板中插入以下代码:(注意-需要先引入jquery.js 下面代码要在jquery插件后面在插入)
<script>
function time(){//构建方法
var time=new Date();//new 出当前时间
var h=time.getFullYear();//获取年
var m=time.getMonth()+1;//获取月
var d=time.getDate();//获取日
var H = time.getHours();//获取时
var M = time.getMinutes();//获取分
var S = time.getSeconds();//获取秒
return h+"-"+m+"-"+d+" "+H+":"+M+":"+S; //返回 年-月-日 时:分:秒
}
//栏目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(
'/e/extend/recorduser/index.php',
{userid:userid,classid:classid,id:id,tbname:tbname,time:time},
"html"
);
}
})
</script>
第三步:处理函数:可以直接下载压缩包上传到网站根目录下,文件路径根目录/e/extend/recorduser/index.php
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
text
/
表名称:
栏目ID
信息ID
表名称@@@栏目ID@@@信息ID::::::
/
*/
//查询是否已有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}' ) ");
}
?>
第四步:在使用的地方插入以下代码(样式套用自己的即可)
<ul>
<?php
include("./e/class/connect.php");
$groupid =getcvar('mlgroupid'); //<a class="tag_link" href="https://www.78moban.com/tag/%e4%bc%9a%e5%91%98" title="查看会员此标签更多文章" target="_blank"><abbr title="">会员</abbr></a>组ID
$rnd =getcvar('mlrnd'); //认证码加密
$userid =getcvar('mluserid'); //会员ID
$username =getcvar('mlusername'); //会员用户名
?>
[e:loop={"select * from phome_ly_recorduser where userid=$userid order by id desc limit 10",10,24,0}]
<?
$fr=$empire->fetch1("select * from {$dbtbpre}ecms_{$bqr[tbname]} where id='$bqr[infoid]'");
?>
<li><a href="<?=$fr[titleurl]?>" target="_blank" title="<?=$fr[title]?>"><?=$fr[title]?></a></li>
[/e:loop]
</ul>
效果图:
第一步:帝国后台--系统--备份数据--执行sql:是utf8 编码的用下面SQL代码:
CREATE TABLE phome_ly_recorduser (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
`userid` INT( 10 ) NOT NULL ,
`tbname` text NOT NULL,
`classid` int(10) unsigned NOT NULL default '0',
`time` varchar(255) NOT NULL default '',
`infoid` int(10) unsigned NOT NULL default '0',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM ;
第二步:在需要记录信息的内容模板中插入以下代码:(注意-需要先引入jquery.js 下面代码要在jquery插件后面在插入)
<script>
function time(){//构建方法
var time=new Date();//new 出当前时间
var h=time.getFullYear();//获取年
var m=time.getMonth()+1;//获取月
var d=time.getDate();//获取日
var H = time.getHours();//获取时
var M = time.getMinutes();//获取分
var S = time.getSeconds();//获取秒
return h+"-"+m+"-"+d+" "+H+":"+M+":"+S; //返回 年-月-日 时:分:秒
}
//栏目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(
'/e/extend/recorduser/index.php',
{userid:userid,classid:classid,id:id,tbname:tbname,time:time},
"html"
);
}
})
</script>
第三步:处理函数:可以直接下载压缩包上传到网站根目录下,文件路径根目录/e/extend/recorduser/index.php
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
text
/
表名称:
栏目ID
信息ID
表名称@@@栏目ID@@@信息ID::::::
/
*/
//查询是否已有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}' ) ");
}
?>
第四步:在使用的地方插入以下代码(样式套用自己的即可)
<ul>
<?php
include("./e/class/connect.php");
$groupid =getcvar('mlgroupid'); //<a class="tag_link" href="https://www.78moban.com/tag/%e4%bc%9a%e5%91%98" title="查看会员此标签更多文章" target="_blank"><abbr title="">会员</abbr></a>组ID
$rnd =getcvar('mlrnd'); //认证码加密
$userid =getcvar('mluserid'); //会员ID
$username =getcvar('mlusername'); //会员用户名
?>
[e:loop={"select * from phome_ly_recorduser where userid=$userid order by id desc limit 10",10,24,0}]
<?
$fr=$empire->fetch1("select * from {$dbtbpre}ecms_{$bqr[tbname]} where id='$bqr[infoid]'");
?>
<li><a href="<?=$fr[titleurl]?>" target="_blank" title="<?=$fr[title]?>"><?=$fr[title]?></a></li>
[/e:loop]
</ul>
新闻资讯 更多
- 【帝国cms教程】帝国CMS模板变量$GLOBALS[navclassid]用法分析04-03
- 【帝国cms教程】鲜为人知帝国CMS内容页调用上一篇和下一篇的精华方法汇总04-03
- 【帝国cms教程】怎么快速找出帝国CMS数据库配置文件路径及迁移网站后修改技巧!04-03
- 【帝国cms教程】帝国CMS模板$GLOBALS[navclassid]用法详解04-03
- 【帝国cms教程】帝国cms 7.5版列表页分页样式修改笔记04-02
- 【帝国cms教程】解决帝国CMS搜索页面模板不支持灵动标签和万能标签的方法04-02
- 【帝国cms教程】帝国CMS只备份栏目和模板的方法04-02
- 【帝国cms教程】帝国CMS怎样删除清空数据库记录?04-02
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法