首页 > CMS > 帝国Empire > 正文

帝国CMS7.0数据库记录所有浏览访问的会员教程

2024-08-28 12:25:27
字体:
来源:转载
供稿:网友

1、新闻系统数据表中字段管理中添加“visituserid”字段,字段类型为“CHAR ”。

 

2、在需要统计的页面的<head></head>中添加如下代码:


<script src="[!--news.url--]/ly/jquery.js" type="text/javascript"></script>
<script>
//信息ID
var id = [!--id--];
//登陆用户
var userid = <?=$lguserid=intval(getcvar('mluserid'))?>;
$(function(){
if(userid)
{
$.post(
'/ly/recorduser/index.php',
{userid:userid,id:id},               
"html"
);
}
})
</script>

3、添加数据代码

可以下载压缩包将文件放在根目录中

文件路径 根目录/ly/recorduser/index.php

index.php文件代码:

<?phprequire('../../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;        }   /*useridvisituserid/        表名称:        栏目ID        信息ID表名称@@@栏目ID@@@信息ID::::::/*/     //查询是否已有useridif($user=$empire->fetch1("select * from {$dbtbpre}ecms_news where id = {$_POST['id']}")){        //格式化字符串        $visituserid="{$_POST['userid']}";                //信息分隔符        $dot='';        //判断是否已有记录数        if(strstr($user['visituserid'],$visituserid))        {                //已有记录返回空                die;                }        if($user['visituserid']!='')        {                $dot=',';        }                   //大于1000调记录数去掉最后的一条信息        if($user['visituserid'] && substr_count($user['visituserid'],$dot)>=999)        {                //去除最后一条记录数                $arr=explode(',',$user['visituserid']);                $arrvisituserid='';                $dot1=$dot;                for($i=0;$i<count($arr);$i++)                {                        if($i!=(count($arr)-1))                        {                                if($i==(count($arr)-2))                                {                                        $dot1='';                                        }                                $arrvisituserid.=$arr[$i].$dot1;                        }                }                $visituserid.=$dot.$arrvisituserid;        }        else        {                $visituserid.=$dot.$user['visituserid'];        }        //不存在的记录数、更新表        $empire->query("update {$dbtbpre}ecms_news set `visituserid` = '{$visituserid}' where id = {$_POST['id']}");}//没有记录数插入一条else{        $visituserid="{$_POST['userid']}";                $sql=$empire->query(" INSERT INTO `{$dbtbpre}ecms_news` `visituserid` VALUES '{$visituserid}' ");}?>

 

 

4、调用已阅人员列表

 

在需要调用的地方添加代码如下:

<div class="ct_fw"><li><b>已阅人:</b></li><!--判断visituserid是否为空--><?phpif($navinfor[visituserid]){?><!--visituserid不为空时显示开始--><?php$record=$empire->fetch1("select * from {$dbtbpre}ecms_news where id = $navinfor[id]");if($record){$info=explode(",",$record['visituserid']);$visituserid='';foreach($info as $v){$arr=explode($v);$sql=$empire->fetch1("select * from {$dbtbpre}enewsmember where userid = $v ");$visituserid.="<li><a href='/e/space/?userid=$v' title='点击访问{$sql[username]}的空间' target='_blank'>{$sql[username]}</a></li>";//print_r($arr);//die;}      }?><?=$visituserid?><!--visituserid不为空时显示结束--><?php}else{?><!--visituserid为空时显示开始--><!--visituserid为空时显示结束--><?php}?></div>

这样就可以了。
 

记录.rar
3148a0f18a233ad70b658679ded3e6d0.rar (32.54 KB)
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表