Foros del Web » Programando para Internet » PHP »

Pasando un valor a una variable desde el browser

Estas en el tema de Pasando un valor a una variable desde el browser en el foro de PHP en Foros del Web. Bueno supongamos que yo tengo un archivo hola.php con el siguiente contenido echo "$id"; Y en el navegador llamo a hola.php del siguiente modo: mihost.com/hola.php?id=2 ...
  #1 (permalink)  
Antiguo 23/02/2004, 23:03
 
Fecha de Ingreso: febrero-2004
Mensajes: 221
Antigüedad: 13 años, 11 meses
Puntos: 0
Pasando un valor a una variable desde el browser

Bueno supongamos que yo tengo un archivo hola.php con el siguiente contenido

echo "$id";

Y en el navegador llamo a hola.php del siguiente modo:
mihost.com/hola.php?id=2

No deberia mostrarme el contenido de la variable id?
Pues, no consigo hacerlo funcionar..

Este foro mola!!
  #2 (permalink)  
Antiguo 23/02/2004, 23:04
 
Fecha de Ingreso: febrero-2004
Mensajes: 221
Antigüedad: 13 años, 11 meses
Puntos: 0
Obviamente que el contenido es <? echo "$id"; ?> se sobreentiende no :D?
__________________
Guillermo Rauch
Freelancer
  #3 (permalink)  
Antiguo 24/02/2004, 00:37
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 8 meses
Puntos: 2
a ver.. en las faq tienes un estupendo ejemplo y de paso, te lees algo mas... y veras que hay cosillas muy utiles y que te haran pensar...

... por otra parte...

Código PHP:
<?php

 
switch ($_GET['id']) {
     case 
'1':
         echo 
"menu 1";
     break;
     case 
'2':
         echo 
"menu 2";
     break;
     case 
'3':
         echo 
"menu 3";
     break;
     default:
        echo 
"no seleccionaste ningun menu!";
     break;
 }
 
?>
creo que es esto lo que tu quieres....

se puede usar la sentencia switch o IF, pero bueno... es altamente recomendable usar la sentencia switch siempre que se pueda.

La sentencia switch es similar a una serie de sentencias IF en la misma expresión. En muchas ocasiones, se quiere comparar la misma variable (o expresión) con nuchos valores diferentes, y ejecutar una parte de código distinta dependiendo de a qué valor es igual. Para ello sirve la sentencia switch.

Nota: Tener en cuenta que al contrario que otros lenguajes de programación, continue se aplica a switch y funciona de manera similar a break. Si teneis un switch dentro de un bucle y deseais continuar con el paso siguiente en el bucle externo, usar continue 2.

para mas detalles... te remito... http://es2.php.net/manual/es/control...res.switch.php

mas cosas... si te fijas dentro del switch, hay una SUPER VARIABLE GLOBAL, $_GET, en ella definimos el ID, asi cuando nosotros pongamos en el navegador... http://192.168.1.2/index.php?id=2, por ejemplo, automaticamente saltaremos al menu 2 y asi sucesibamente.

aqui te explico un poco sobre las variables globales...

Variables HTTP GET: $_GET
Nota: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_GET_VARS.

Una matriz asociativa de variables pasadas al script actual a través del método HTTP GET. Global automáticamente en cualquier contexto.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_GET; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_GET_VARS.

$HTTP_GET_VARS contiene la misma información inicial, pero no es autoglobal. (Note que HTTP_GET_VARS y $_GET son variables diferentes y que PHP las trata como tal)

Si la directiva register_globals está definida, entonces éstas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_GET y $HTTP_GET_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son autoglobales.

Variables HTTP POST: $_POST
Nota: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_POST_VARS.

Una matriz asociativa de variables pasadas al script actual a través del método HTTP POST. Global automáticamente en cualquier contexto.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_POST; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_POST_VARS.

$HTTP_POST_VARS contiene la misma información inicial, pero no es autoglobal. (Note que HTTP_POST_VARS y $_POST son variables diferentes y que PHP las trata como tal)

Si la directiva register_globals está definida, entonces éstas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_POST y $HTTP_POST_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son autoglobales.

mas info en.,.. http://es2.php.net/variables.predefined

un saludo.-.-.
__________________
3w.valenciadjs.com
3w.laislatv.com
  #4 (permalink)  
Antiguo 24/02/2004, 01:04
 
Fecha de Ingreso: febrero-2004
Mensajes: 221
Antigüedad: 13 años, 11 meses
Puntos: 0
Muchas graciaS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Gran explicacion!
Debera ser por tema de versiones, porque yo antes hacia como arriba y funcionaba 10 puntos.
__________________
Guillermo Rauch
Freelancer
  #5 (permalink)  
Antiguo 24/02/2004, 01:42
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 8 meses
Puntos: 2
eso si... mirate bien las faq y veras como aprendes un monton de cosas, un saludo ;)
__________________
3w.valenciadjs.com
3w.laislatv.com
  #6 (permalink)  
Antiguo 29/06/2004, 12:28
 
Fecha de Ingreso: junio-2004
Mensajes: 84
Antigüedad: 13 años, 6 meses
Puntos: 0
Cita:
Iniciado por Appletalk
Bueno supongamos que yo tengo un archivo hola.php con el siguiente contenido

echo "$id";

Y en el navegador llamo a hola.php del siguiente modo:
mihost.com/hola.php?id=2

No deberia mostrarme el contenido de la variable id?
Pues, no consigo hacerlo funcionar..

Este foro mola!!
Si y no, depende si el servidor tiene habilitadas las variables globlales.
Si no las llega a tener (por lo visto parace que no las tiene), tenes que poner echo $_GET["id"];
Nota: NUNCA uses variables globlales.
__________________
Repositorio de funciones utiles para programadores y administradores
http://www.particle.com.ar
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 04:49.