本功能實現(xiàn)了如果用戶登陸了, 就記錄他的信息 如果未登陸就記錄他的IP地區(qū)作為信息..
第一步: 先創(chuàng)建數(shù)據(jù)表 在后臺執(zhí)行語句
注意: _userkjf 前面要加上您的表前綴哦...
CREATE TABLE `這里是你的數(shù)據(jù)庫表前綴_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 ;
第二步: 把以下代碼 復(fù)制到 e/space/template/default/header.temp.php
<?php //取得登陸者信息 $userid =getcvar('mluserid'); //會員ID $uid=$_GET['userid'];//當(dāng)前空間的主人ID if ($uid!=$userid) { //如果訪客已登陸 則取得訪客信息并寫入數(shù)據(jù)庫 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//如果訪客未登陸 則取得訪客信息并寫入數(shù)據(jù)庫 { //取得IP 和地區(qū) $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); //創(chuàng)建來訪客信息 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])){//排除局域網(wǎng)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失敗!";} } ////根據(jù)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);//根據(jù)新浪api接口獲取 if($ipadd){ $charset = iconv("gbk","utf-8",$ipadd); preg_match_all("/[x{4e00}-x{9fa5}]+/u",$charset,$ipadds); return $ipadds; //返回一個二維數(shù)組 }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> <p><?=$rs[ipdl]?"來自:".$rs[ipdl]:"未知地區(qū)"?></p> <br> <p><?=$rs[lftime]?></p> </span> </li> <?php } } //-會員空間訪客顯示結(jié)束-------------- ?>
至此全部安裝完成
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 帝國cms會員空間增加最近訪客功能