帝国cms会员空间增加最近访客功能

本功能实现了如果用户登陆了, 就记录他的信息  如果未登陆就记录他的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
        }
    
}
//-会员空间访客显示结束--------------       
?>

至此全部安装完成

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

云资源网 » 帝国cms会员空间增加最近访客功能

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们.。
你们有qq群吗怎么加入?
当然有的,如果你是帝国cms、易优cms、和pbootcms系统的爱好者你可以加入我们的QQ千人交流群https://sudo1.com/page-qun.html。
  • 会员数(个)
  • 12275资源数(个)
  •        
  • 资源(G)
  •        
  • 今日下载
  • 1364稳定运行(天)

提供最优质的资源集合

立即查看 了解详情