站长之家 - 站长资讯 - 易采站长站

当前位置: > 建站教程 > 源码教程 > CMS 教程 >

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

2015-06-05 13:34 | 来源:网络整理 | 编辑:秋军 |

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文件代码:

<?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

visituserid

/

表名称:

栏目ID

信息ID

表名称@@@栏目ID@@@信息ID::::::

/

*/

//查询是否已有userid

if($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是否为空-->

<?php

if($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>

这样就可以了。

 

  • dede数据库还原0条记录问题-DedeCms教程
  • DedeCMS Error Track:DedeCMS错误警告:连接数据库失败 的解决办法-DedeCms教程
  • 给dedeims添加在线支付和提现的功能之数据库设置-DedeCms教程
  • ecshop数据库ecs_stats短时间内会变很大的解决方法-ECshop教程
  • 帝国CMS商城系统实现在线支付后发送订单邮件提醒功能-(EmpireCMS)帝国C
  • 帝国CMS后台无法登陆提示cookie没有开启怎么办-(EmpireCMS)帝国CMS教程
  • 教你如何给帝国CMS系统添加登陆失败次数限制-(EmpireCMS)帝国CMS教程
  • 帝国CMS提示Fatal error:Allowed memory size of的解决办法-(EmpireCMS)帝国
  • 帝国CMS登录管理后台提示Fatal error Unable to read的解决办法-(EmpireCMS)帝国
  • 帝国cms首页分页实现方法 具体步骤-(EmpireCMS)帝国CMS教程
  • 网友评论

    关于我们 - 联系我们 - 广告服务 - 版权声明 - 人才招聘 - 友情链接 - 网站地图 - 帮助 - -

    CopyRight © 2010-2016 源码下载 easck.com , All Rights Reserved

    蒙公网安备 15052402000103号

    蒙ICP备14002389-1号