帝国cms采集入库 帝国CMS二次开发会员空间增加最近访客

帝国CMS教程

帝国cms会员空间是没有访客记录功能的,所以我们需要二次开发一个,方法不是非常复杂,步骤代码会全部列出,大致效果是这样的。

帝国cms采集入库 帝国CMS二次开发会员空间增加最近访客 第1张

1、首先我们去后台新建一个会员字段,用来储存访客记录。

字段名zuijin字段标识最近访客字段类型字符型0-255字节(VARCHAR)255输入表单替换html代码<inputname="zuijin"type="text"id="zuijin"value="<?=$ecmsfirstpost==1?"":ehtmlspecialchars(stripSlashes($addr[zuijin]))?>"size="">

2、然后修改会员空间的header.temp.php模板,增加访问空间页面就写入访客记录代码

//增加会员访问记录if($getuserid&&$getuserid<>$userid){$r=$empire->fetch1("selectzuijinfrom{$dbtbpre}enewsmemberaddwhereuserid='$userid'limit1");if(empty($r['zuijin'])){$empire->query("update{$dbtbpre}enewsmemberaddsetzuijin='$getuserid::::::'whereuserid='$userid'");}else{$zuijin=explode("::::::",$r['zuijin']);if(in_array($getuserid,$zuijin)){$newzuijin=$getuserid."::::::".str_replace($getuserid."::::::","",$r['zuijin']);$empire->query("update{$dbtbpre}enewsmemberaddsetzuijin='$newzuijin'whereuserid='$userid'");}else{$empire->query("update{$dbtbpre}enewsmemberaddsetzuijin='$getuserid::::::$r[zuijin]'whereuserid='$userid'");}}}

当用户访问就写入字段zuijin记录下来。数据库大致格式为:ID::::::

 

3、最后就是在需要的地方调用访问记录就可以了

<?php$jl=$empire->fetch1("selectzuijinfrom{$dbtbpre}enewsmemberaddwhereuserid='$userid'limit1");$jluserid=explode("::::::",$jl['zuijin']);$i=0;$jlnum=count($jluserid)-1;if($jlnum>=8){$jlnum=8;}elseif($jlnum=='0'){echo'<pclass="nogz">暂时还没有访客记录</p>';}while($i<$jlnum){$jluser=$empire->fetch1("select*from{$dbtbpre}enewsmemberaddwhereuserid='$jluserid[$i]'limit1");$jluserxx=$empire->fetch1("select*from{$dbtbpre}enewsmemberwhereuserid='$jluserid[$i]'limit1");$jluserpic=$jluser['userpic']?$jluser['userpic']:$public_r[newsurl].'e/data/images/nouserpic.gif';?><li><ahref="/e/space/?userid=<?=$jluserid[$i]?>"><imgsrc="<?=$jluserpic?>"/><span><?=$jluserxx[username]?></span></a></li><?$i++;}?>

首先循环查询出zuijin字段的内容,然后分隔出来,最后再循环调用对应的ID会员内容,完工了。