本功用完结了假如用户登陆了, 就记载他的信息 假如未登陆就记载他的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

相关推荐