刚学接触帝国CMS不久. 弄个来玩玩.. 做得不好,不要喷哦...哈.. 
预览地址: http://www.uduwi.com/e/space/list.php?userid=1&mid=1
类型QQ空间一样.. (差不多吧)
如果访客登陆了. 就记录他的ID 如果未登陆就记录他的IP地区..
友情提示: 如果安装不成功就继续回贴吧..... 我为您解答....
第一步: 先创建数据表
注意: _userkjf 前面要加上您的表前缀哦...
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 ;
第二步:
把以下代码 复制到 e/space/template/pf1/left.temp.php
当然也不一定放在这个文件里...根据需要吧....
说明:pf1 为我个人的模板
<?php //取得登陆者信息 $userid =getcvar('mluserid'); //会员ID //$username =getcvar('mlusername'); //会员用户名 $uid=$_GET['userid'];//当前空间的主人ID
if ($uid!=$userid) { //如果访客已登陆 则取得访客信息并写入数据库 if($userid) { $lfUname = $_COOKIE["lfUname"];//获取访客信息 if($lfUname=='') { $empire->query("insert into {$dbtbpre}userkjfk(lfuserid,bfuserid,lftime) values($userid,$uid,'".date('Y-m-d
H:i:s')."')"); setcookie("lfUname",$userid,time()+1200); //创建来访客信息 20分钟过期 } } 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}userkjfk(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}userkjfk 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
1"); ?> <li> <a href="/e/space/index.php?userid=<?=$fkxxrs[userid]?>" target="_blank"> <img src="<?=$fkxxrs[userpic]?$fkxxrs[userpic]:'../data/images/nouserpic.gif'?>" width="50" height="50"
/> </a> <span> <b><?=$fkxxrs[truename]?></b> <div><?=$rs[lftime]?></div> </span> </li> <?php } else { ?> <li> <a href="#"><img src="../data/images/nouserpic.gif" width="50" height="50"/></a> <span> <div><?=$rs[ipdl]?"来自:".$rs[ipdl]:"未知地区"?></div> <br> <div><?=$rs[lftime]?></div> </span> </li> <?php }
} //-会员空间访客显示结束-------------- ?>
就这么多...
|