1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
      <output id="hzk7v"></output>
    2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
    3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>

      PHP实现获取ip地址的5?#22336;?#27861;以及插入用户登录日志操作示例

       更新时间2019年02月28日 11:26:42   作者流风飘然的风   我要评论

      这篇文章主要介绍了PHP实现获取ip地址的5?#22336;?#27861;以及插入用户登录日志操作,结合实例形式总结分析了php获取访客IP地址的5种常见操作方法,以及将用户登陆信息写入登陆日志数据库相关操作技巧,需要的朋友可以参考下

      本文实例讲述了PHP实现获取ip地址的5?#22336;?#27861;以及插入用户登录日志操作分享给大家供大家参考具体如下

      php 获取ip地址的5?#22336;?#27861;插入用户登录日志实例推荐使用第二?#22336;?#27861;

      <?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 ("^(10172.16192.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网络编程技巧总结php curl用法总结PHP数组(Array)操作技巧大全php?#22336;?#20018;(string)用法总结PHP数据结构与算法教程php程序设计算法总结PHP数学运算技巧总结php常见数据库操作技巧汇总

      希望本文所述?#28304;?#23478;PHP程序设计?#20852;?#24110;助

      相关文章

      最新评论

      3dԻв

        1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
          <output id="hzk7v"></output>
        2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
        3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>

            1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
              <output id="hzk7v"></output>
            2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
            3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>