Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/09/2003, 12:58
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Supongo que estaras usando un codigo semejante al de nuevo (incluso el mismo).

El "problema" es que tienes configurado PHP para que muestre todos los mensajes de error (ERROR, WARNING y NOTICE). Es la mejor configuracion para un entorno de desarrollo, en mi opinion.

El mensaje que pones es un NOTICE, que no es un error propiamente dicho, sino mas bien un aviso de que quizas estes haciendo algo mal. En este caso te lo da porque intentas acceder a un elemento de un array que no existe.

El codigo mas "correcto" seria usando isset():
Código PHP:
<?php

if ($_SERVER) {

        if ( isset(
$_SERVER[HTTP_X_FORWARDED_FOR] )) {

            
$ip_real $_SERVER['HTTP_X_FORWARDED_FOR'];

}

    elseif ( isset(
$_SERVER['HTTP_CLIENT_IP'] )) {

            
$ip_real $_SERVER['HTTP_CLIENT_IP'];

}

else {

            
$ip_real $_SERVER['REMOTE_ADDR'];

}

}

 else {

        if ( 
getenv'HTTP_X_FORWARDED_FOR' ) ) {

            
$ip_real getenv'HTTP_X_FORWARDED_FOR' );

}

elseif ( 
getenv'HTTP_CLIENT_IP' ) ) {

            
$ip_real getenv'HTTP_CLIENT_IP' );

}

else {

            
$ip_real getenv'REMOTE_ADDR' );

}

}

echo 
'La ip es  '.$ip_real;

?>
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.