Foros del Web » Programando para Internet » PHP »

Obtener y registrar ip de usuario

Estas en el tema de Obtener y registrar ip de usuario en el foro de PHP en Foros del Web. Hola gente, espero esten bien!. La verdad es que estoy intentando recuperar y registrar la direccion ip del usuario en la DB para controlar asi ...
  #1 (permalink)  
Antiguo 08/03/2016, 08:45
 
Fecha de Ingreso: agosto-2015
Ubicación: Rosario - Argentina
Mensajes: 424
Antigüedad: 8 años, 11 meses
Puntos: 12
Obtener y registrar ip de usuario

Hola gente, espero esten bien!.

La verdad es que estoy intentando recuperar y registrar la direccion ip del usuario en la DB para controlar asi las cuentas creadas.

Estoy usando este code:
Código PHP:
//----> Obtenemos la IP del usuario.
        
function get_real_ip(){
            if (isset(
$_SERVER["HTTP_CLIENT_IP"]))
            {
                return 
$_SERVER["HTTP_CLIENT_IP"];
            }
            elseif (isset(
$_SERVER["HTTP_X_FORWARDED_FOR"]))
            {
                return 
$_SERVER["HTTP_X_FORWARDED_FOR"];
            }
            elseif (isset(
$_SERVER["HTTP_X_FORWARDED"]))
            {
                return 
$_SERVER["HTTP_X_FORWARDED"];
            }
            elseif (isset(
$_SERVER["HTTP_FORWARDED_FOR"]))
            {
                return 
$_SERVER["HTTP_FORWARDED_FOR"];
            }
            elseif (isset(
$_SERVER["HTTP_FORWARDED"]))
            {
                return 
$_SERVER["HTTP_FORWARDED"];
            }
            else
            {
                return 
$_SERVER["REMOTE_ADDR"];
            }
        }
                       
$dir_ip get_real_ip(); 
Y el problema es que cuando me registro me muestra solo 127
esto pasa tambien al regitrarme con otra pc me dice 192

Y lo que quiero es que me de 192.xxx.xx.x o 127.x.x.x

¿saben como podria solucionarlo?

Espero me puedan ayudar y gracias de antemano.
  #2 (permalink)  
Antiguo 08/03/2016, 09:38
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años
Puntos: 379
Respuesta: Obtener y registrar ip de usuario

Acabo de probar tu código y la función trabaja bien. Vas a tener que buscar en otra parte.
Por cierto no es necesario que hagas if else, recuerda que en el momento que hagas el return sales de la función.
Código PHP:
Ver original
  1. function get_real_ip()
  2. {
  3.  
  4.     if (isset($_SERVER["HTTP_CLIENT_IP"])) {
  5.         return $_SERVER["HTTP_CLIENT_IP"];
  6.     }
  7.  
  8.     if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
  9.         return $_SERVER["HTTP_X_FORWARDED_FOR"];
  10.     }
  11.  
  12.     if (isset($_SERVER["HTTP_X_FORWARDED"])) {
  13.         return $_SERVER["HTTP_X_FORWARDED"];
  14.     }
  15.  
  16.     if (isset($_SERVER["HTTP_FORWARDED_FOR"])) {
  17.         return $_SERVER["HTTP_FORWARDED_FOR"];
  18.     }
  19.  
  20.     if (isset($_SERVER["HTTP_FORWARDED"])) {
  21.         return $_SERVER["HTTP_FORWARDED"];
  22.     }
  23.  
  24.     return $_SERVER["REMOTE_ADDR"];
  25. }
  26. $dir_ip = get_real_ip();
  27. var_dump($dir_ip);
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 08/03/2016, 13:33
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 7 meses
Puntos: 154
Respuesta: Obtener y registrar ip de usuario

Hola TrinityCore,

Por lo que dices es muy probable que tu campo de la BD sea de un tamaño inferior a lo que necesitas. Revisa también el tipo, he visto casos que usaban int para guardar una IP y, como sabrás, debe ser varchar.

Espero que te sirva.
  #4 (permalink)  
Antiguo 08/03/2016, 15:07
 
Fecha de Ingreso: agosto-2015
Ubicación: Rosario - Argentina
Mensajes: 424
Antigüedad: 8 años, 11 meses
Puntos: 12
Respuesta: Obtener y registrar ip de usuario

Cita:
Iniciado por rbczgz Ver Mensaje
Hola TrinityCore,

Por lo que dices es muy probable que tu campo de la BD sea de un tamaño inferior a lo que necesitas. Revisa también el tipo, he visto casos que usaban int para guardar una IP y, como sabrás, debe ser varchar.

Espero que te sirva.
No, esta en varchar 255, copie este formato porque tengo el servidor de un juego que trabaja con ips y lo tiene igual.

Etiquetas: ip, registro, usuario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:48.