帝國CMS會員空間是沒有訪客記錄功能的,所以我們需要二次開發一個,方法不是非常復雜,步驟代碼會全部列出,大致效果是這樣的。
1、首先我們去后臺新建一個會員字段,用來儲存訪客記錄。
1 2 3 4 5 6 7 8 9 10 11 | 字段名 zuijin 字段標識 最近訪客 字段類型 字符型0-255字節(VARCHAR) 255 輸入表單替換html代碼 < input name = "zuijin" type = "text" id = "zuijin" value = "<?=$ecmsfirstpost==1?" ":ehtmlspecialchars(stripSlashes($addr[zuijin]))?>" size=""> |
2、然后修改會員空間的header.temp.php模板,增加訪問空間頁面就寫入訪客記錄代碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | //增加會員訪問記錄 if ( $getuserid && $getuserid <> $userid ){ $r = $empire ->fetch1( "select zuijin from {$dbtbpre}enewsmemberadd where userid='$userid' limit 1" ); if ( empty ( $r [ 'zuijin' ])){ $empire ->query( "update {$dbtbpre}enewsmemberadd set zuijin='$getuserid::::::' where userid='$userid'" ); } else { $zuijin = explode ( "::::::" , $r [ 'zuijin' ]); if (in_array( $getuserid , $zuijin )) { $newzuijin = $getuserid . "::::::" . str_replace ( $getuserid . "::::::" , "" , $r [ 'zuijin' ]); $empire ->query( "update {$dbtbpre}enewsmemberadd set zuijin='$newzuijin' where userid='$userid'" ); } else { $empire ->query( "update {$dbtbpre}enewsmemberadd set zuijin='$getuserid::::::$r[zuijin]' where userid='$userid'" ); } } } |
當用戶訪問就寫入字段zuijin記錄下來。數據庫大致格式為:ID::::::
3、最后就是在需要的地方調用訪問記錄就可以了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?php $jl = $empire ->fetch1( "select zuijin from {$dbtbpre}enewsmemberadd where userid='$userid' limit 1" ); $jluserid = explode ( "::::::" , $jl [ 'zuijin' ]); $i =0; $jlnum = count ( $jluserid )-1; if ( $jlnum >=8){ $jlnum =8; } elseif ( $jlnum == '0' ) { echo '<div class="nogz">暫時還沒有訪客記錄</div>' ; } while ( $i < $jlnum ) { $jluser = $empire ->fetch1( "select * from {$dbtbpre}enewsmemberadd where userid='$jluserid[$i]' limit 1" ); $jluserxx = $empire ->fetch1( "select * from {$dbtbpre}enewsmember where userid='$jluserid[$i]' limit 1" ); $jluserpic = $jluser [ 'userpic' ]? $jluser [ 'userpic' ]: $public_r [newsurl]. 'e/data/images/nouserpic.gif' ; ?> <li><a href= "/e/space/?userid=<?=$jluserid[$i]?>" ><img src= "<?=$jluserpic?>" /><span><?= $jluserxx [username]?></span></a></li> <? $i ++; } ?> |
首先循環查詢出zuijin字段的內容,然后分隔出來,最后再循環調用對應的ID會員內容,完工了。
新聞熱點
疑難解答