最新公告
  • 欢迎您光临 我爱模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境! 立即加入钻石VIP
  • 帝国cms会员空间模板显示最近来访访客信息

    正文概述 管理员   2025-09-06   4

    本功能实现了如果用户登陆了, 就记录他的信息 如果未登陆就记录他的IP地区作为信息..

    第一步: 先创建数据表 在后台执行语句

    注意: _userkjf 前面要加上您的表前缀哦...

    CREATE TABLE `这里是你的数据库表前缀_userkjf` (
      `id` int(11) NOT NULL auto_increment,
      `lfuserid` varchar(20) character set gbk default NULL,
      `bfuserid` varchar(100) character set gbk NOT NULL,
      `ip` char(50) character set gbk default NULL,
      `ipdl` char(50) character set gbk default NULL,
      `lftime` char(20) character set gbk NOT NULL,
      PRIMARY KEY  (`id`),
      UNIQUE KEY `id` (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=latin1 AUTO_INCREMENT=65 ;

    第二步: 把以下代码 复制到 e/space/template/default/header.temp.php

    <?php
    //取得登陆者信息
    $userid =getcvar('mluserid');    //会员ID  
    $uid=$_GET['userid'];//当前空间的主人ID
        
    if ($uid!=$userid)
    {
      //如果访客已登陆  则取得访客信息并写入数据库
      if($userid)
      {        
              $lfUname = $_COOKIE["lfUname"];//获取访客信息
        
    $fkdd=$empire->fetch1("select * from {$dbtbpre}userkjf where  bfuserid='".$uid."' and lfuserid='".$userid."'");
          
          
       if($fkdd)
              {     
          
        
              }      
          
      else
          
      {    
          
        
          
          
    $empire->query("insert into {$dbtbpre}userkjf(lfuserid,bfuserid,lftime) values($userid,$uid,'".date('Y-m-dH:i:s')."')");
                        
          
          
          
          
      }
          
          
        
      }
      else//如果访客未登陆  则取得访客信息并写入数据库
      {
              //取得IP 和地区
               $gifo = new get_gust_info();
               $ip=$gifo->Getip();
               $ipadds = $gifo->Getaddress();
               foreach($ipadds[0] as $value){
                       $ipdl.=iconv("utf-8","gbk",$value);   
               }
                  
              //获取访客信息
              $lfUname = $_COOKIE["lfUname"];
                  
              if($lfUname=='')
              {
              $empire->query("insert into {$dbtbpre}userkjf(bfuserid,ip,ipdl,lftime) values($uid,'$ip','".$ipdl."','".date('Y-m-d
        
    H:i:s')."')");
                      setcookie("lfUname","游客",time()+1200);   //创建来访客信息  20分钟过期
              }
      }
    }
    ?>
    <?php
    // 作用取得客户端的ip、地理信息、浏览器、本地真实IP
    class get_gust_info {
        
      ////获得访客真实ip
      function Getip(){
       if(!empty($_SERVER["HTTP_CLIENT_IP"])){   
          $ip = $_SERVER["HTTP_CLIENT_IP"];
       }
       if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //获取代理ip
        $ips = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
       }
       if($ip){
          $ips = array_unshift($ips,$ip);
       }
           
       $count = count($ips);
       for($i=0;$i<$count;$i++){   
         if(!preg_match("/^(10|172.16|192.168)./i",$ips[$i])){//排除局域网ip
          $ip = $ips[$i];
          break;   
          }  
       }  
       $tip = empty($_SERVER['REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR'];
       if($tip=="127.0.0.1"){ //获得本地真实IP
          return $this->get_onlineip();   
       }else{
          return $tip;
       }
      }
          
      ////获得本地真实IP
      function get_onlineip() {
          $mip = file_get_contents("http://city.ip138.com/city0.asp");
           if($mip){
               preg_match("/[.*]/",$mip,$sip);
               $p = array("/[/","/]/");
               return preg_replace($p,"",$sip[0]);
           }else{return "获取本地IP失败!";}
       }
          
      ////根据ip获得访客所在地地名
      function Getaddress($ip=''){
       if(empty($ip)){
           $ip = $this->Getip();   
       }
       $ipadd = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=".$ip);//根据新浪api接口获取
       if($ipadd){
        $charset = iconv("gbk","utf-8",$ipadd);   
        preg_match_all("/[x{4e00}-x{9fa5}]+/u",$charset,$ipadds);
           
        return $ipadds;   //返回一个二维数组
       }else{return "addree is none";}  
      }
    }
        
    ?>
        
    <?php
    //-会员空间访客显示开始-----------------
    $fkSQL="select * from {$dbtbpre}userkjf where bfuserid='".$uid."' order by id desc limit 5";
    $fkSQL=$empire->query($fkSQL);
        
    while($rs=$empire->fetch($fkSQL))
    {
        
            if($rs[lfuserid])
            {
                    $fkxxrs=$empire->fetch1("select userid,truename,userpic from {$dbtbpre}enewsmemberadd where userid=$rs[lfuserid] limit
        
    2");
    ?>
        
        
        
    <li>
    <a href="/e/space/index.php?userid=<?=$fkxxrs[userid]?>"><img src="<?=$fkxxrs[userpic]?$fkxxrs[userpic]:'/templets/member/common/images/dfboy.png'?>"   alt="<?=$fkxxrs[truename]?>" /></a>
    <a href="/e/space/index.php?userid=<?=$fkxxrs[userid]?>"><?=$fkxxrs[truename]?></a>
    </li>
        
        
        
        
        
    <?php       
            }
            else
            {
    ?>
                            <li>
                                <a href="#"><img src="../data/images/nouserpic.gif"   /></a>
                            <span>
                                    <div><?=$rs[ipdl]?"来自:".$rs[ipdl]:"未知地区"?></div>
                                <br>
                                <div><?=$rs[lftime]?></div>
                            </span>
                        </li>
    <?php
            }
        
    }
    //-会员空间访客显示结束--------------       
    ?>

    至此全部安装完成

    效果图如下:

    注意: 获取ip所在地链接已失效


    我爱模板网 » 帝国cms会员空间模板显示最近来访访客信息

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者
    script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?587cc1e5c052b5b0ce99533beff13c96"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

    请选择支付方式

    ×
    支付宝支付
    余额支付
    ×
    微信扫码支付 0 元