帝国CMS会员空间是没有访客记录功能的,所以我们需要二次开发一个,方法不是非常复杂,步骤代码可以全部列举,大致效果就是这样的。
1、首先我们去后台新建一个会员字段,用来储存参观者记录。
字段名 zuijin 字段标识 最近访客 字段类型 字符型0-255字节(VARCHAR) 255 输入表单替代html代码 " size="">
2、然后修改会员空间的header.temp.php模板,增加访问空间页面就载入访客记录代码
//增加会员访问记录 if ($getuserid && $getuserid<>$userid){ $r=$empire->fetch1("select zuijin from {$dbtbpre}enewsmemberadd where userid='$userid' limit 1"); if (empty($r['zuijin'])){ $empire->query("update {$dbtbpre}enewsmemberadd set zuijin='$getuserid::::::' where userid='$userid'"); } else { $zuijin=explode("::::::",$r['zuijin']); if (in_array($getuserid,$zuijin)) { $newzuijin=$getuserid."::::::".str_replace($getuserid."::::::","",$r['zuijin']); $empire->query("update {$dbtbpre}enewsmemberadd set zuijin='$newzuijin' where userid='$userid'"); } else{ $empire->query("update {$dbtbpre}enewsmemberadd set zuijin='$getuserid::::::$r[zuijin]' where userid='$userid'"); } } }
当用户访问就载入字段zuijin记录下来。数据库大致格式为:ID::::::
3、最后就是在需要的地方调用出访记录就可以了
<?php $jl=$empire->fetch1("select zuijin from {$dbtbpre}enewsmemberadd where userid='$userid' limit 1"); $jluserid=explode("::::::",$jl['zuijin']); $i=0; $jlnum=count($jluserid)-1; if ($jlnum>=8){ $jlnum=8; } elseif ($jlnum=='0') { echo '暂时还没有参观者记录'; } while($i<$jlnum) { $jluser=$empire->fetch1("select * from {$dbtbpre}enewsmemberadd where userid='$jluserid[$i]' limit 1"); $jluserxx=$empire->fetch1("select * from {$dbtbpre}enewsmember where userid='$jluserid[$i]' limit 1"); $jluserpic=$jluser['userpic']?$jluser['userpic']:$public_r[newsurl].'e/data/images/nouserpic.gif'; ?>
首先循环查询出来zuijin字段的内容,然后隔开出来,最后再循环调用对应的ID会员内容,竣工了。