我在我的博客空间index.php里加入了如下代码,来获取访问者信息
<?php
/**
 *获取访问者IP及时间,写入数据库
 */ 
    $ip = getenv("REMOTE_ADDR");
$visit_time = date("Y-m-d H:i:s");
$query = "INSERT INTO wp_ip_list (visit_IP,visit_Time)VALUES( '$ip', '$visit_time');";
 mysql_query($query);
?>为什么数据库里 visit_IP字段都为空呢??

解决方案 »

  1.   

    $_SERVER里面也有一些东西,也可以看看。
      

  2.   

    $query = "INSERT INTO wp_ip_list (visit_IP,visit_Time)VALUES( '$ip', '$visit_time');";  去掉第一个分号
      

  3.   

    好了 改成 
    $_SERVER[REMOTE_ADDR]成功了 。
      

  4.   

    可 这个getenv()函数为什么不行呢??
      

  5.   

    你的OS, web server....?iis下面php getenv(’HTTP_X_FORWARDED_FOR’)取不到php中getenv()和$_SERVER的用法区别
      

  6.   

    你要知道不同的浏览器内核和系统,取IP是不一样的,不能单一$_SERVER[REMOTE_ADDR],这样吧,我给你一个比较全的,用不用随便你了function get_user_ip(){
    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'];
    }
    return $onlineip;
    }
      

  7.   

    if (getenv($_SERVER['HTTP_CLIENT_IP'])) {
    $ip = getenv($_SERVER['HTTP_CLIENT_IP']);
    } else if (getenv($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ip = getenv($_SERVER['HTTP_X_FORWARDED_FOR']); 
    } else if (getenv($_SERVER['REMOTE_ADDR'])) {
    $ip = getenv($_SERVER['REMOTE_ADDR']);
    } else {
    $ip = $_SERVER['REMOTE_ADDR'];
    }
      

  8.   

    function get_user_ip(){
        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'];
        }
        return $onlineip;
    }这这个应该是比较全的了