本功能实现了如果用户登陆了, 就记录他的信息 如果未登陆就记录他的IP地区作为信息..
第一步: 先创建数据表 在后台执行语句
注意: _userkjf 前面要加上您的表前缀哦...
1
2
3
4
5
6
7
8
9
10
|
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/default/header.temp.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
<?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 } } //-会员空间访客显示结束-------------- ?> |
·关于我们·免责声明·服务条款·RSS订阅·dede168.com技术支持
Copyright © 1998-2015 All rights reserved.