2013-04-23 3 views
0

Я написал этот кодОшибка: Undefined индекс: 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

Просто не использовать ключи массива, не зная, что они всегда существуют .. basic PHP one o 'one

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

Альтернатива в Cake заключается в использовании методов обертки t шляпа предназначены для автоматической проверки существования внутри страны. Затем вы можете просто прочитать значение напрямую. В вашем случае env() проверяет эти серверные вары:

$result = env('HTTP_X_FORWARDED_FOR'); 
Смежные вопросы