2013-04-23 43 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');