2013-04-23 73 views
0

我写了这个代码错误:未定义指数:HTTP_X_FORWARDED_FOR

$ips = preg_split("/,/", $_SERVER["HTTP_X_FORWARDED_FOR"]); 
    $ip = $ips[0]; 
    if ($key === $ip && $val === env('SERVER_ADDR')) { 
     $addr = env($ip); 
     if ($addr !== null) { 
      $val = $addr; 
     } 
    } 

但我得到以下错误:

<b>Notice</b>: Undefined index: HTTP_X_FORWARDED_FOR 

回答

3

只是不使用数组的键不知道他们一定始终存在.. 基本的PHP 1 o'1

if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) { 
    // now only try to access this key 
} 

Cake的替代方法是使用包装方法t帽子被设计为在内部自动检查存在。然后你可以直接读取该值。在你的情况env()检查这些服务器变量:

$result = env('HTTP_X_FORWARDED_FOR');