首页站内杂志技术文摘
文章内容页

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

  • 作者:雨祺
  • 来源: 原创
  • 发表于2022-02-06 21:26:34
  • 阅读0
  • 本功能实现了如果用户登陆了, 就记录他的信息  如果未登陆就记录他的IP地区作为信息..
    第一步: 先创建数据表  在后台执行语句
    注意: _userkjf  前面要加上您的表前缀哦...  
    1. CREATE TABLE `这里是你的数据库表前缀_userkjf` ( 
    2.   `id` int(11) NOT NULL auto_increment, 
    3.   `lfuserid` varchar(20) character set gbk default NULL, 
    4.   `bfuserid` varchar(100) character set gbk NOT NULL, 
    5.   `ip` char(50) character set gbk default NULL, 
    6.   `ipdl` char(50) character set gbk default NULL, 
    7.   `lftime` char(20) character set gbk NOT NULL, 
    8.   PRIMARY KEY  (`id`), 
    9.   UNIQUE KEY `id` (`id`) 
    10. ) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=latin1 AUTO_INCREMENT=65 ; 
    第二步: 把以下代码 复制到  e/space/template/default/header.temp.php
    1. <?php 
    2. //取得登陆者信息 
    3. $userid =getcvar('mluserid');    //会员ID   
    4. $uid=$_GET['userid'];//当前空间的主人ID 
    5.       
    6. if ($uid!=$userid) 
    7.   //如果访客已登陆  则取得访客信息并写入数据库 
    8.   if($userid) 
    9.   {         
    10.           $lfUname = $_COOKIE["lfUname"];//获取访客信息 
    11.       
    12. $fkdd=$empire->fetch1("select * from {$dbtbpre}userkjf where  bfuserid='".$uid."' and lfuserid='".$userid."'"); 
    13.         
    14.         
    15.    if($fkdd) 
    16.           { 
    17.   
    18.           } 
    19.   
    20.   else 
    21.         
    22.   { 
    23.       
    24. $empire->query("insert into {$dbtbpre}userkjf(lfuserid,bfuserid,lftime) values($userid,$uid,'".date('Y-m-dH:i:s')."')"); 
    25.      
    26.   } 
    27.   
    28.   } 
    29.   else//如果访客未登陆  则取得访客信息并写入数据库 
    30.   { 
    31.           //取得IP 和地区 
    32.            $gifo = new get_gust_info(); 
    33.            $ip=$gifo->Getip(); 
    34.            $ipadds = $gifo->Getaddress(); 
    35.            foreach($ipadds[0] as $value){ 
    36.                    $ipdl.=iconv("utf-8","gbk",$value);    
    37.            } 
    38.                 
    39.           //获取访客信息 
    40.           $lfUname = $_COOKIE["lfUname"]; 
    41.                 
    42.           if($lfUname==''
    43.           { 
    44.           $empire->query("insert into {$dbtbpre}userkjf(bfuserid,ip,ipdl,lftime) values($uid,'$ip','".$ipdl."','".date('Y-m-d 
    45.       
    46. H:i:s')."')"); 
    47.                   setcookie("lfUname","游客",time()+1200);   //创建来访客信息  20分钟过期 
    48.           } 
    49.   } 
    50. ?> 
    51. <?php 
    52. // 作用取得客户端的ip、地理信息、浏览器、本地真实IP 
    53. class get_gust_info { 
    54.       
    55.   ////获得访客真实ip 
    56.   function Getip(){ 
    57.    if(!empty($_SERVER["HTTP_CLIENT_IP"])){    
    58.       $ip = $_SERVER["HTTP_CLIENT_IP"]; 
    59.    } 
    60.    if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //获取代理ip 
    61.     $ips = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']); 
    62.    } 
    63.    if($ip){ 
    64.       $ips = array_unshift($ips,$ip); 
    65.    } 
    66.          
    67.    $count = count($ips); 
    68.    for($i=0;$i<$count;$i++){    
    69.      if(!preg_match("/^(10|172.16|192.168)./i",$ips[$i])){//排除局域网ip 
    70.       $ip = $ips[$i]; 
    71.       break;    
    72.       }   
    73.    }   
    74.    $tip = empty($_SERVER['REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR']; 
    75.    if($tip=="127.0.0.1"){ //获得本地真实IP 
    76.       return $this->get_onlineip();    
    77.    }else
    78.       return $tip; 
    79.    } 
    80.   } 
    81.         
    82.   ////获得本地真实IP 
    83.   function get_onlineip() { 
    84.       $mip = file_get_contents("http://city.ip138.com/city0.asp"); 
    85.        if($mip){ 
    86.            preg_match("/[.*]/",$mip,$sip); 
    87.            $p = array("/[/","/]/"); 
    88.            return preg_replace($p,"",$sip[0]); 
    89.        }else{return "获取本地IP失败!";} 
    90.    } 
    91.         
    92.   ////根据ip获得访客所在地地名 
    93.   function Getaddress($ip=''){ 
    94.    if(empty($ip)){ 
    95.        $ip = $this->Getip();    
    96.    } 
    97.    $ipadd = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=".$ip);//根据新浪api接口获取 
    98.    if($ipadd){ 
    99.     $charset = iconv("gbk","utf-8",$ipadd);    
    100.     preg_match_all("/[x{4e00}-x{9fa5}]+/u",$charset,$ipadds); 
    101.          
    102.     return $ipadds;   //返回一个二维数组 
    103.    }else{return "addree is none";}   
    104.   } 
    105.       
    106. ?> 
    107.       
    108. <?php 
    109. //-会员空间访客显示开始----------------- 
    110. $fkSQL="select * from {$dbtbpre}userkjf where bfuserid='".$uid."' order by id desc limit 5"
    111. $fkSQL=$empire->query($fkSQL); 
    112.       
    113. while($rs=$empire->fetch($fkSQL)) 
    114.       
    115.         if($rs[lfuserid]) 
    116.         { 
    117.                 $fkxxrs=$empire->fetch1("select userid,truename,userpic from {$dbtbpre}enewsmemberadd where userid=$rs[lfuserid] limit 
    118.       
    119. 2"); 
    120. ?> 
    121.       
    122.       
    123.       
    124. <li> 
    125. <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> 
    126. <a href="/e/space/index.php?userid=<?=$fkxxrs[userid]?>"><?=$fkxxrs[truename]?></a> 
    127. </li> 
    128.       
    129.       
    130.       
    131.       
    132.       
    133. <?php        
    134.         } 
    135.         else 
    136.         { 
    137. ?> 
    138.                         <li> 
    139.                             <a href="#"><img src="../data/images/nouserpic.gif"   /></a> 
    140.                         <span> 
    141.                                 <div><?=$rs[ipdl]?"来自:".$rs[ipdl]:"未知地区"?></div> 
    142.                             <br> 
    143.                             <div><?=$rs[lftime]?></div> 
    144.                         </span> 
    145.                     </li> 
    146. <?php 
    147.         } 
    148.       
    149. //-会员空间访客显示结束--------------        
    150. ?> 

    【审核人:站长】

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

        本文链接:https://www.wenyunfang.com/zazhi/zhongwangjiaocheng/71.html

        赞一下

        深度阅读

        • 您也可以注册成为文韵坊的作者,发表您的原创作品、分享您的心情!

        阅读记录

          关注文韵坊