第一步: 先创建数据表 在后台执行语句
注意: _userkjf 前面要加上您的表前缀哦...
第二步: 把以下代码 复制到 e/space/template/default/header.temp.php
- 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 ;
- <?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
- }
- }
- //-会员空间访客显示结束--------------
- ?>