[没事聊聊] 【转载】NexusPHP pt显示IP地址地理位置 看全部

默认的NexusPHP 的显示IP地理位置不知道本来就不能使用还是我下载的源码坏了,今天修正。
原先的效果图。
QQ图片20131115215015.jpg

首先查找打开文件 “/include/functions.php”
查找
  1. $location = array($lang_functions['text_unknown'],"");

注释 替换为
  1. // $location = array($lang_functions['text_unknown'],"");
  2.        $location = array(getUserAddrss($ip),"");


再最低侧插入
  1. /**2013-11-15 ℡龙龙修正 admin@nmc126.com
  2. 替换
  3. // $location = array($lang_functions['text_unknown'],"");
  4. $location = array(getUserAddrss($ip),"");
  5. */

  6. function getUserAddrss($ip)
  7. {
  8.         global $lang_functions;
  9.         $address = mysql_fetch_assoc(sql_query("SELECT memo FROM address where inet_aton('$ip')<=endip and inet_aton('$ip')>=beginip"));
  10.         if(empty($address))
  11.                 return $lang_functions['text_unknown'];
  12.         return $address['memo'];
  13. }


然后再你的数据库内新建表“address”
  1. -- phpMyAdmin SQL Dump
  2. -- version 3.4.8
  3. -- http://www.phpmyadmin.net
  4. --
  5. -- 主机: localhost
  6. -- 生成日期: 2013 年 11 月 15 日 20:29
  7. -- 服务器版本: 5.5.28
  8. -- PHP 版本: 5.3.17

  9. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  10. SET time_zone = "+00:00";


  11. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  12. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  13. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  14. /*!40101 SET NAMES utf8 */;

  15. --
  16. -- 数据库: `nexusphp`
  17. --

  18. -- --------------------------------------------------------

  19. --
  20. -- 表的结构 `address`
  21. --

  22. CREATE TABLE IF NOT EXISTS `address` (
  23.   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  24.   `beginip` int(20) unsigned NOT NULL COMMENT '起始ip',
  25.   `endip` int(20) unsigned NOT NULL COMMENT '终止ip',
  26.   `memo` varchar(100) NOT NULL COMMENT '说明',
  27.   PRIMARY KEY (`id`)
  28. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

  29. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  30. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  31. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

address.zip (726 Bytes)
(下载次数: 713, 2013/11/15 21:53 上传)

并且插入你的数据

sql语句 (替换你的数据)
  1. INSERT INTO `nexusphp`.`address` (`id`, `beginip`, `endip`, `memo`) VALUES ('1', INET_ATON('10.101.1.1'), INET_ATON('10.101.1.254'), '一号学生公寓一楼'), ('2', INET_ATON('10.101.2.1'), INET_ATON('10.101.2.254'), '一号学生公寓二楼');


或者手动添加插入。
address.jpg
address2.jpg
address1.jpg

批量导入数据
比如你的 excel 的“beginip”=B1 ,“endip”=D1 ,“memo”=F1.
  1. INSERT INTO `nexusphp`.`address` (`beginip`, `endip`, `memo`) VALUES (INET_ATON('="B1"'),INET_ATON('="D1"'), '=="F1"');
  2. INSERT INTO `nexusphp`.`address` (`beginip`, `endip`, `memo`) VALUES (INET_ATON('="B2"'),INET_ATON('="D2"'), '=="F2"');


上列例子 转换为 .txt 文本文件,进行SQL 导入。
address3.jpg
address4.jpg

显示正确的效果图
address5.jpg
address6.jpg

此文章 转自 http://bbs.nmc126.com/thread-2528-1-1.html
  • 沙发 补懂 该用户已被删除
  • 2013/11/15 22:03
提示: 作者被禁止或删除 内容自动屏蔽
妹就是正义,妹就是经典,妹就是王道,妹就是真理,妹就是未来,妹就是希望,妹就是信仰,妹就是唯一! ! ! !
  • 报纸 曾经那么美 该用户已被删除
  • 2013/11/16 00:59
提示: 作者被禁止或删除 内容自动屏蔽
  • 地板 居高领下 该用户已被删除
  • 2013/11/16 10:48
提示: 作者被禁止或删除 内容自动屏蔽
  • 6楼 心冷漠情何在 该用户已被删除
  • 2013/11/16 16:51
提示: 作者被禁止或删除 内容自动屏蔽
  • 7楼 伤徝得欣赏 该用户已被删除
  • 2013/11/16 19:53
提示: 作者被禁止或删除 内容自动屏蔽
  • 8楼 飞翔的脚趾 该用户已被删除
  • 2013/11/16 23:00
提示: 作者被禁止或删除 内容自动屏蔽
  • 9楼 唱单身情歌 该用户已被删除
  • 2013/11/17 02:10
提示: 作者被禁止或删除 内容自动屏蔽
  • 10楼 掩饰的心伤 该用户已被删除
  • 2013/11/17 05:50
提示: 作者被禁止或删除 内容自动屏蔽
  • 11楼 诠释的爱 该用户已被删除
  • 2013/11/17 09:24
提示: 作者被禁止或删除 内容自动屏蔽
  • 12楼 黯淡 该用户已被删除
  • 2013/11/17 18:22
提示: 作者被禁止或删除 内容自动屏蔽
  • 13楼 liuda
  • 2013/11/20 21:29
路过帮顶
  • 14楼 小樱
  • 2014/9/23 14:08
作死啊,用SQL当IP数据库?