帝国cms记录会员浏览信息的插件
2018-10-17 站长 站长日志
数据库保存模式记录会员浏览的最新的10条信息。
拓展:记录游客的话,记录游客的cookie或者IP。论坛有个以cookie形式保存在客户端的插件。实现办法都一样。我觉得保存在数据库安全点。
----------------------------------------------------------------------
1:首先新建一张表
帝国后台--系统--备份数据--执行sql:
2:在需要记录信息的内容模板中插入以下代码:(注意-需要先引入jquery.js 下面代码要在jquery插件后面在插入)
3:处理函数:
可以自己复制代码,也可以直接下载压缩包
文件路径 根目录/ly/recorduser/index.php
index.php文件代码:
4:在使用的地方插入以下代码:
拓展:记录游客的话,记录游客的cookie或者IP。论坛有个以cookie形式保存在客户端的插件。实现办法都一样。我觉得保存在数据库安全点。
----------------------------------------------------------------------
1:首先新建一张表
帝国后台--系统--备份数据--执行sql:
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 ; |
<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
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}' ) "); } ?> |
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> |