本功用完结了假如用户登陆了, 就记载他的信息 假如未登陆就记载他的IP区域作为信息..
第一步: 先创立数据表 在后台履行句子
留意: _userkjf 前面要加上您的表前缀哦...
CREATETABLE`这里是你的数据库表前缀_userkjf`( `id`int(11)NOTNULLauto_increment, `lfuserid`varchar(20)charactersetgbkdefaultNULL, `bfuserid`varchar(100)charactersetgbkNOTNULL, `ip`char(50)charactersetgbkdefaultNULL, `ipdl`char(50)charactersetgbkdefaultNULL, `lftime`char(20)charactersetgbkNOTNULL, PRIMARYKEY(`id`), UNIQUEKEY`id`(`id`) )ENGINE=InnoDBAUTO_INCREMENT=65DEFAULTCHARSET=latin1AUTO_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}userkjfwherebfuserid='".$uid."'andlfuserid='".$userid."'"); if($fkdd) { } else { $empire->query("insertinto{$dbtbpre}userkjf(lfuserid,bfuserid,lftime)values($userid,$uid,'".date('Y-m-dH:i:s')."')"); } } else//假如访客未登陆则取得访客信息并写入数据库 { //取得IP和区域 $gifo=newget_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("insertinto{$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 classget_gust_info{ ////取得访客实在ip functionGetip(){ 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 functionget_onlineip(){ $mip=file_get_contents("http://city.ip138.com/city0.asp"); if($mip){ preg_match("/[.*]/",$mip,$sip); $p=array("/[/","/]/"); returnpreg_replace($p,"",$sip[0]); }else{return"获取本地IP失利!";} } ////依据ip取得访客所在地地名 functionGetaddress($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"addreeisnone";} } } ?> <?php //-会员空间访客显现开端----------------- $fkSQL="select*from{$dbtbpre}userkjfwherebfuserid='".$uid."'orderbyiddesclimit5"; $fkSQL=$empire->query($fkSQL); while($rs=$empire->fetch($fkSQL)) { if($rs[lfuserid]) { $fkxxrs=$empire->fetch1("selectuserid,truename,userpicfrom{$dbtbpre}enewsmemberaddwhereuserid=$rs[lfuserid]limit 2"); ?> <li> <ahref="/e/space/index.php?userid=<?=$fkxxrs[userid]?>"><imgsrc="<?=$fkxxrs[userpic]?$fkxxrs[userpic]:'/templets/member/common/images/dfboy.png'?>"alt="<?=$fkxxrs[truename]?>"/></a> <ahref="/e/space/index.php?userid=<?=$fkxxrs[userid]?>"><?=$fkxxrs[truename]?></a> </li> <?php } else { ?> <li> <ahref="#"><imgsrc="../data/images/nouserpic.gif"/></a> <span> <p><?=$rs[ipdl]?"来自:".$rs[ipdl]:"不知道区域"?></p> <br> <p><?=$rs[lftime]?></p> </span> </li> <?php } } //-会员空间访客显现完毕-------------- ?>
至此悉数装置完结
声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:123456@qq.com 我们将配合处理!
原文地址:帝国cms会员空间增加最近访客功能发布于2022-06-26 07:43:35