# 帝国CMS二次开发如在会员空间增加最近访客功能

*Published:* 2023-12-07
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年12月7日，已超过 180天没有更新



帝国CMS[会员](https://www.xarjtc.com/tag/%e4%bc%9a%e5%91%98 "查看会员此标签更多文章")空间是没有访客记录功能的，所以我们需要二次开发一个，方法不是非常复杂，步骤代码会全部列出，大致效果是这样的。

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

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

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 '<div class="nogz">暂时还没有访客记录</div>';
} 
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';
    ?>
    <li><a href="/e/space/?userid=<?=$jluserid[$i]?>"><img src="<?=$jluserpic?>" /><span><?=$jluserxx[username]?></span></a></li>
    <?
    $i++; 
}
 
?>
```

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