Código PHP:
<?php
$ip=getenv("REMOTE_ADDR");
echo $ip;
?>
![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)
Salu2 y gracias
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)
| |||
![]() salu2 maestros del web, tengo una duda acerca de obtener la ip mediante este codigo php: Código PHP: ![]() Salu2 y gracias ![]() |
| |||
a ver tratare de explicarte quien lo definio, no podria decirtelo, pero existe elconvenio internacional que la ip local "siempre" es 127.0.0.1 y todo su subrango.Esto es lo que te pasa a ti que tienes el servidor apache supongo por defecto y te toma la "localhost", que es el nombre generico de la ip local, una prueba de esto es que en el navegador puedes escribir indistintamente "localhost" u "127.0.0.1" y te aparecera la misma pagina index que tienes tu. Todos los computadores que estan conectados tienen una ip "real" que es la que aparece cada vez que tu estas entrado a otra pagina. Esta direcccion te la da tu proveedor de internet por lo general, a no ser que tu tengas un router u otro mecanismo "similar" a este. Si quieres saber tu ip "real", coloca ipconfig y te dara los datos de tu pc. espero habver sido claro para ti, y cualquier cosa consulta |
| |||
$ip=$REMOTE_ADDR; Esto lo úncio que hace es pasar el valor que contenga la variable $remote_Addr a $ip, puede tener cualquier cosa. En cambio la otra llama a la función getenv con el parámetro remote_addr que retorna un valor. saludos |
| |||
bueno mi pregunta mas iba a que cuando pongo: <? echo $REMOTE_ADDR; ?> esto me muestra mi ip, y pasa lo mismo cuando pongo <? echo getenv("REMOTE_ADDR"); ?> quiero decir, ambas formas me dan el mismo resultado.... es × simple curiosidad que quiero saber cual es la diferencia entre esas dos... salu2 |
| |||
getenv es una función de php que se utiliza para acceder a las variables de entorno de php (como REMOTE_ADDR, QUERY_STRING, etc). http://php.net/getenv No deberías usar simplemente $REMOTE_ADDR, ya que estás asumiendo que register_globals está activado, cosa que no siempre es acertada (http://php.net/register_globals). La forma segura sería hacerlo desde la superglobal $_SERVER ($_SERVER[REMOTE_ADDR]) que existe desde la versión 4 de php. Antiguamente se podía acceder desde $HTTP_SERVER_VARS por lo que usar getenv era un poco más práctico, desconozco si tiene alguna otra utilidad. Suerte Fede |
| |||
Claro, siempre es mejor usar las superglobales por eso mismo, lo que no sé cuánta utilidad tiene es getenv. Suerte Fede |
| ||||
Cita: Hola.
Iniciado por thunder.scripts lo que no sé cuánta utilidad tiene es getenv. Realmente getenv sólo devuelve el valor de una variable del entorno (como ya todos sabemos). No tiene nada más de especial. Saludos.
__________________ Gustavo Narea. Venezuela. |
| |||
![]() gracias a to2, asumo que entonces existe la misma diferencia al querer verificar si una variable esta definida o no. P e.j. tengo la variable $okram: Código PHP: Código PHP: salu2 ![]() |
| ||||
Hola. Cita: Si, porque de esa manera estas asumiendo que siempre $okram está definida... Y vas a obtener un error si usas una variable no definida.
Iniciado por okram ¿¿¿Hay algun problema en usar simplemente: Código PHP: Por otro lado, pienso que sólo debería usar: Código PHP:
__________________ Gustavo Narea. Venezuela. |