PHP獲取ip地址的5種方法 以及插入用戶登錄日志

發(fā)布時(shí)間:2024-02-25
本文實(shí)例講述了php實(shí)現(xiàn)獲取ip地址的5種方法,以及插入用戶登錄日志操作。分享給大家供大家參考,具體如下:
php 獲取ip地址的5種方法,插入用戶登錄日志實(shí)例,推薦使用第二種方法
<?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; 實(shí)例:在用戶登錄時(shí)獲取用戶ip,插入到數(shù)據(jù)庫(kù)登錄日志表里
//增加用戶登錄日志 $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; } } 日志表結(jié)構(gòu):
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
上一個(gè):intelcpu天梯圖2020(intel天梯圖2019)
下一個(gè):酷炫的泡茶方法你試過(guò)了嗎?

日本喜開(kāi)理ckd單元元件混合機(jī)械手hrl
1t機(jī)械硬盤多大尺寸,1T的硬盤是多大的啊
網(wǎng)站轉(zhuǎn)移云服務(wù)器
歐洲品牌comap助力工業(yè)自動(dòng)化(為您的設(shè)備保駕護(hù)航)
RTT036903FTP現(xiàn)貨庫(kù)存,最新價(jià)格
高頻貼片電容和普通電容有什么不同?
花木澆水過(guò)多或過(guò)少有什么害處? 盆花澆水注意事項(xiàng)
上海數(shù)據(jù)產(chǎn)業(yè)集團(tuán)公司,中國(guó)新時(shí)代健康產(chǎn)業(yè)集團(tuán)公司
怎么調(diào)亮蘋果電腦亮度(蘋果電腦怎么調(diào)屏幕亮度調(diào)節(jié))
怎么在谷歌官網(wǎng)買手機(jī),google手機(jī)在那能買到
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos