国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP實現獲取ip地址的5種方法,以及插入用戶登錄日志操作示例

2024-05-05 00:07:02
字體:
來源:轉載
供稿:網友

本文實例講述了PHP實現獲取ip地址的5種方法,以及插入用戶登錄日志操作。分享給大家供大家參考,具體如下:

php 獲取ip地址的5種方法,插入用戶登錄日志實例,推薦使用第二種方法

<?php  //方法1:$ip = $_SERVER["REMOTE_ADDR"];echo $ip;//方法2:$ip = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];$ip = ($ip) ? $ip : $_SERVER["REMOTE_ADDR"];echo $ip;//方法3:function getRealIp(){  $ip=false;  if(!empty($_SERVER["HTTP_CLIENT_IP"])){    $ip = $_SERVER["HTTP_CLIENT_IP"];  }  if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }    for ($i = 0; $i < count($ips); $i++) {      if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {        $ip = $ips[$i];        break;      }    }  }  return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);}echo getRealIp();//方法4:if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){  $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];}elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){  $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];}elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"]){  $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];}elseif (getenv("HTTP_X_FORWARDED_FOR")){  $ip = getenv("HTTP_X_FORWARDED_FOR");}elseif (getenv("HTTP_CLIENT_IP")){  $ip = getenv("HTTP_CLIENT_IP");}elseif (getenv("REMOTE_ADDR")){  $ip = getenv("REMOTE_ADDR");}else{  $ip = "Unknown";}echo $ip ;//方法5:if(getenv('HTTP_CLIENT_IP')) {  $onlineip = getenv('HTTP_CLIENT_IP');} elseif(getenv('HTTP_X_FORWARDED_FOR')) {  $onlineip = getenv('HTTP_X_FORWARDED_FOR');} elseif(getenv('REMOTE_ADDR')) {  $onlineip = getenv('REMOTE_ADDR');} else {  $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];}echo $onlineip;

實例:在用戶登錄時獲取用戶IP,插入到數據庫登錄日志表里

//增加用戶登錄日志$ip = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];$ip = ($ip) ? $ip : $_SERVER["REMOTE_ADDR"];$this->usermodel->addUserlog($userid,$nickname,$ip);function addUserlog($userid,$nickname,$ip) {    try {      $now = date("Y-m-d H-i-s",time());      $data=array(        'userid'=>$userid,        'nickname'=>$nickname,        'ip'=>$ip,        'logintime'=>$now      );      $insert_query = $this->db->insert_string('user_log', $data);      $this->db->query($insert_query);      return 0;    } catch ( Exception $e ) {      return -1;    }}

日志表結構:

CREATE TABLE `user_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `userid` bigint(20) NOT NULL, `nickname` varchar(50) NOT NULL, `ip` varchar(50) NOT NULL, `logintime` datetime NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 镇安县| 夏河县| 哈巴河县| 拉萨市| 葫芦岛市| 清流县| 深水埗区| 昭觉县| 时尚| 敖汉旗| 平远县| 渭南市| 河西区| 孟连| 会理县| 宣恩县| 嘉兴市| 容城县| 张家界市| 平乡县| 南充市| 昌都县| 霍城县| 蕲春县| 南雄市| 沈丘县| 胶州市| 漠河县| 阿克陶县| 上林县| 瓦房店市| 涟源市| 赤城县| 翁牛特旗| 台东市| 铜山县| 陈巴尔虎旗| 郎溪县| 大冶市| 多伦县| 克拉玛依市|