下载鸥 > 网站下载 > 开发教程 > 帝国CMS

帝国cms会员空间怎样做最近访客功能

1005 2020-12-01 12:57:56

收藏

简述

按下方教程操作即可实现记录登录信息或ip的功能。

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

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

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

CREATE TABLE `phome_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
        }
     
}
//-会员空间访客显示结束--------------       
?>

至此,帝国cms会员空间记录访客信息就全部实现了。

本文地址:https://xzo.com.cn/develop/empire/189.html

有帮助,很赞!

信息来源:精准像素
导出教程 下载word版教程
发表评论 共有条评论
关于帝国CMS


帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用

当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。

推荐帝国CMS开发教程
帝国cms怎样将一二三级置顶改为首页栏目置顶等其他名字?
帝国cms怎样将一二三级置顶改为首页栏目置顶等其他名字?

帝国cms推荐、头条级别要改名都可以在栏目设置(栏目-头条/推荐级别)里进行修...

1 493
帝国cms从伪静态改为静态站但信息刷新死活出不来的问题
帝国cms从伪静态改为静态站但信息刷新死活出不来的问题

今天记录的问题简直匪夷所思,是帝国cms伪静态站点改成静态站点,点击清除缓存...

1 422
帝国cms怎样删除收藏的信息?
帝国cms怎样删除收藏的信息?

帝国cms是支持收藏功能的,但如果要删除收藏则不是很方便,通过本教程可以实现...

1 333
帝国cms安装报错fatal error:require():Failed opening required ../class/EmpireCMS_version.php(include_path=.
帝国cms安装报错fatal error:require():Failed opening required ../class/EmpireCMS_version.php(include_path=.

帝国CMS安装报错 fatal error:require():Failed opening required ../clas...

1 692
帝国cms列表页怎样用自带函数自动生成缩略图?
帝国cms列表页怎样用自带函数自动生成缩略图?

如果列表页图片尺寸相对于标题图更小,我们就可以使用帝国cms自带的缩略图函...

0 361
帝国CMS怎样验证后台发布信息标题是否重复?
帝国CMS怎样验证后台发布信息标题是否重复?

想要在帝国cms后台禁止发布标题相同的信息,或是在发布信息时验证一下标题是...

2 673
帝国cms会员投稿后白屏怎么办?
帝国cms会员投稿后白屏怎么办?

今天客户遇到一个问题,会员发布投稿信息后白屏了。但信息会正常发布出来,后台...

2 478
帝国cms会员注册怎样跳过选择会员组类型?
帝国cms会员注册怎样跳过选择会员组类型?

帝国cms会员注册必须要选择会员组类型,哪怕你只有一个会员组也一样。那么,我...

0 415
推荐插件
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

0 1111
帝国cms百度AI图像无损放大api接口对接插件
帝国cms百度AI图像无损放大api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像无损放大的功能。经过...

0 430
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 909
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...

0 999
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

0 761
帝国cms百度AI图像去雾api接口对接插件
帝国cms百度AI图像去雾api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...

0 447
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

0 553
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...

0 420
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入