dedecms插件

当前位置/ 首页/ DE教程/dedecms插件/ 正文

dedecms 5.7 评论通过IP显示网友具体地址的最新方法

dedecms 5.7 评论通过IP显示网友具体地址的最新方法(支持GBK跟UTF8)。
 
这个实现方法很多人都会,原创也不是我,只是我更新了下最新的纯真IP数据库,另外我测试的是dedecms 5.7 GBK,其他的应该也可以!

首先点击:下载附件

提取密码:ydws
 
下面来说下方法:
 
1、我们需要在数据库表dede_feedback 增加adds字段varchar 20 (20够用了,如果不够用,大家自己修改(255之内)即可)。
两种在数据库表dede_feedback 增加adds字段的方法:(1)到phpMyAdmin中找到dede_feedback 增加adds字段。(2)直接在网站后台:系统—SQL命令运行器 中输入:alter table dede_feedback add column adds varchar(20);按确定执行即可。如果显示“执行一个命令”就说明添加成功了。
 
2、把下载附件放到/plus/目录下。
 
3、修改/plus/ feedback_ajax.php 文件。
 
找到:include_once(DEDEINC.'/memberlogin.class.php');
 
在后面的位置加入:
if(isset($_GET['ip'])){ $ip=$_GET['ip'];} 
       else{$ip=$_SERVER['REMOTE_ADDR'];} 
       include('misc.func.php'); 
$adds= convertip($ip); 
 
这代码的意思好像是将获取到的IP放到misc.func.php获取到地区,然后赋值给$adds。
 
然后再找到:
$inquery = "INSERT INTO `#@__feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`, `mid`,`bad`,`good`,`ftype`,`face`,`msg`) 
                      VALUES ('$aid','$typeid','$username','$arctitle','$ip','$ischeck','$dtime', '{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg'); "; 
 
改成:
$inquery = "INSERT INTO `#@__feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`adds`,`ischeck`,`dtime`, `mid`,`bad`,`good`,`ftype`,`face`,`msg`) 
                      VALUES ('$aid','$typeid','$username','$arctitle','$ip','$adds','$ischeck','$dtime', '{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg'); "; 
 
其实这里就是将地区$adds写入数据库字段adds 
  
 
4、下面就是显示地区:
 
找到发表
 
 
改成网友发表
  
当然具体的你要地址显示在那里就将放到那里
 
提示:这里需要修改两处,都在feedback_ajax.php,大家自己找到修改就可以!
 
PS:方法到这里就OK了,把feedback_ajax.php覆盖,测试一下看是不是可以实现。另外如果你用的是UTF8的编码,那么请把附件中的misc.func.php文件的编码修改成UTF8就可以了!
 
浏览效果大家可以在奔页面留言就可以查看。还有测试不成功的留言!