本文以新闻系统数据表为例,讲述帝国CMS7.0实现记录所有浏览访问的会员入数据库的方法。具体步骤如下:
一、新闻系统数据表中字段管理中添加“visituserid”字段,字段类型为“CHAR ”。
二、在需要统计的页面的<head></head>中添加如下代码:
代码如下:
<script src="[!--news.url--]/ly/jquery.js" type="text/javascript"></script><script>//信息IDvar id = [!--id--];//登陆用户var userid = <?=$lguserid=intval(getcvar('mluserid'))?>;$(function(){if(userid){$.post('/ly/recorduser/index.php',{userid:userid,id:id},"html");}})</script>
推荐学习《帝国cms教程》
三、添加数据代码
可以下载压缩包,将其中的文件夹ly解压后放在根目录中,可以本站下载
文件路径 根目录/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}' ");}?>
四、调用已阅人员列表
在需要调用的地方添加代码如下:
代码如下:
<div class="ct_fw"><li>已阅人:</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>
这样就可以了。
以上就是分享帝国CMS7.0实现记录所有浏览访问的会员的方法的详细内容,更多请关注李烨博客其它相关文章!
转载请注明: » 分享帝国CMS7.0实现记录所有浏览访问的会员的方法