Foros del Web » Programando para Internet » PHP »

error con $_GET['$ID']

Estas en el tema de error con $_GET['$ID'] en el foro de PHP en Foros del Web. Hola a todos bueno tengo problemas con este código //ejemplo.php <?php $ID = $_GET['$ID']; switch ('$ID') { case 1: $ann = '1'; $atr = '.gif'; ...
  #1 (permalink)  
Antiguo 08/01/2007, 08:40
 
Fecha de Ingreso: diciembre-2006
Ubicación: Lima
Mensajes: 35
Antigüedad: 17 años, 4 meses
Puntos: 0
Pregunta error con $_GET['$ID']

Hola a todos bueno tengo problemas con este código
//ejemplo.php
<?php
$ID = $_GET['$ID'];
switch ('$ID') {
case 1:
$ann = '1';
$atr = '.gif';
include '$ann$atr';
break;
default:
include ("localstart.asp");
break;
}
?>

Lo estoy probando para añadirlo a otro pero aun no logro que este pedazo me funcione y no sé en que me estoy equivocando. Cuando escribo en el navegador ejemplo.php?ID=1 aparece esto
Notice: Undefined index: $ID in c :\inetpub\wwwroot\ejemplo.php on line 2
seguido por la página "localstart.asp"
y si desde otra página escribo <img src="ejemplo.php?ID=1"> la imagen no se muestra.

No entiendo cual es mi error estoy utilizando IIS 5.1 y php 4.4.4

Espero que me puedan ayudar
gracias
  #2 (permalink)  
Antiguo 08/01/2007, 08:49
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo Re: error con $_GET['$ID']

Elimina el simbolo de '$'

Código PHP:
$ID $_GET['ID']; 
Saludillos.
  #3 (permalink)  
Antiguo 08/01/2007, 12:08
 
Fecha de Ingreso: diciembre-2006
Ubicación: Lima
Mensajes: 35
Antigüedad: 17 años, 4 meses
Puntos: 0
Exclamación error con $_GET['$ID'] continua

Bueno ya eliminé ese símbolo pero aun nada; el error ya no aparece pero la página del case default sigue escribiendose y la imagen sigue sin aparecer que peudo hacer?
  #4 (permalink)  
Antiguo 08/01/2007, 13:55
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Re: error con $_GET['$ID']

Puedes.....escribir bien el código:

Código PHP:
<?php
$ID 
$_GET['id'];
switch (
'$ID') {

case 
1:
$ann '1';
$atr '.gif';
echo 
"<img src='".$ann.$atr."'>";
break;

case default:
include (
"localstart.asp");
break;
}
?>
NO puedes usar include para mostrar una imagen. Tampoco puedes añadir código ASP, pero espero que en localstart.asp solo tengas HTML o cualquier cosa menos código ASP, porque PHP y ASP mezclados imposible.

Bueno, espero haberte ayudado. Suerte
  #5 (permalink)  
Antiguo 08/01/2007, 14:09
 
Fecha de Ingreso: julio-2003
Ubicación: Buenos Aires
Mensajes: 96
Antigüedad: 20 años, 9 meses
Puntos: 0
Re: error con $_GET['$ID']

creo que en lugar de un include tenes que hacer un header location. Y otra cosa: cuando trates de expander variables utiliza comillas dobles:

echo $array["$variable"];
include "$algo/$otracosa";
  #6 (permalink)  
Antiguo 08/01/2007, 15:15
 
Fecha de Ingreso: diciembre-2006
Ubicación: Lima
Mensajes: 35
Antigüedad: 17 años, 4 meses
Puntos: 0
Pregunta ocultar imagen

No quiero ser pesado ni testarudo pero si no se puede usar include() sobre imágenes entonces como hacen algunas páginas para hacer esta clase de links:
<img src="ruta/pagina.php?id=12">
realmente eso es lo que quiero hacer usar el id con switch y las variables tomarían distintos valores numéricos.
Si no se puede usar el include, switch y una $id para que al usar esa clase de vínculo devuelva una imagen entonces de que otra forma lo puedo hacer?
  #7 (permalink)  
Antiguo 08/01/2007, 21:47
 
Fecha de Ingreso: diciembre-2006
Mensajes: 14
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: ocultar imagen

Cita:
Iniciado por lexandro12 Ver Mensaje
No quiero ser pesado ni testarudo pero si no se puede usar include() sobre imágenes entonces como hacen algunas páginas para hacer esta clase de links:
<img src="ruta/pagina.php?id=12">
realmente eso es lo que quiero hacer usar el id con switch y las variables tomarían distintos valores numéricos.
Si no se puede usar el include, switch y una $id para que al usar esa clase de vínculo devuelva una imagen entonces de que otra forma lo puedo hacer?
El include sirve para INCLUIR paginas externas de manera de reutilizar codigo. Lo que vos querés hacer se hace con echo:
Código PHP:
echo '<img src="'.$ann.$atr.'?id='.$id.'">'
  #8 (permalink)  
Antiguo 09/01/2007, 07:51
 
Fecha de Ingreso: julio-2003
Ubicación: Buenos Aires
Mensajes: 96
Antigüedad: 20 años, 9 meses
Puntos: 0
Re: error con $_GET['$ID']

tampoco quiero ser pesado, pero haciendo un header location a la imagen, funciona.
  #9 (permalink)  
Antiguo 09/01/2007, 11:48
 
Fecha de Ingreso: diciembre-2006
Ubicación: Lima
Mensajes: 35
Antigüedad: 17 años, 4 meses
Puntos: 0
Pregunta Re: error con $_GET['$ID']

Bueno he intentado las formas que me sugirieron y aun asi no funcionaba asi que me fije en algo sencillo como print "Hola"; y aun asi nada asi que me fijé y lo que andaba mal era:
$ID = $_GET['$id']

asi que cambié todo por

$ann = '1';
$atr = '.gif';
if ($_GET['$id'] = "1") {
//echo '<img src="'.$ann.$atr.'">';
//echo "$ann$atr";
//header("Location: $ann$atr");
//echo '<img src="'.$ann.$atr.'?id='.$id.'">';
}

para el resultado que quiero obtener me da lo mismo usar switch que if y ya que if es el que funciona me voy por este pero tuve estos resultados

header("Location: $ann$atr");

Warning: Cannot modify header information - headers already sent by (output started at c : \inetpub\wwwroot\ejemplo2.php:1) in
c : \inetpub\wwwroot\ejemplo2.php on line 6

echo '<img src="'.$ann.$atr.'?id='.$id.'">';

Notice: Undefined variable: id in c : \inetpub\wwwroot\ejemplo2.php on line 9
el resultado en el código de la páhina html era <img src="1.gif?id="> asi que si le queitaba este pedazo '?id='.$id. el resultado era el que parecía correcto
<img src="1.gif">

aun asi la forma en la que yo queria que quedara era asi:

<html>
<head>
</head>
<body>
<img src="http : //directorio/pagina.php?id=1">
</body>
</html>

aqui tengo un ejemplo:
<!-- pais.htm -->
<html>
<head>
<title>Pais</title>
</head>
<body>
<img src="http : //api.hostip.info/flag.php">
</body>
</html>

Cuando ejecuten el código html la imagen va a cambiar segun el país de donde te conectes o del proxy que estes usando (en el caso que uses uno).

eso es lo que quería hacer y en vista de que no se puede con el include ni con el header location porque me arroja un error entonces de que otro modo puedo obtener este efecto?

Gracias
  #10 (permalink)  
Antiguo 09/01/2007, 11:58
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: error con $_GET['$ID']

Hola, te arroja un error porque el codigo no es correcto no porque no se pueda hacer.
fijate cuando te corrijan, Mauled ya te dijo q pusieras $ID=$_GET['ID'];
lo q puedes hacer para saber si te llega este ID es imprimirlo por pantalla con un simple --> echo $ID;
sino te llega tienes un problema antes de esto, si te imprime el valor pasa al siguiente paso q seria el switch
la estructura es facil.
Código PHP:
$id=$_GET[id];
switch (
$id) {
case 
1:
//blablablabla
//aqui pones tu codigo
break;
case 
2:
//blablablabla
//aqui pones tu codigo
break;
default:
//blablablabla
//aqui pones tu codigo
break;
}
//aqui lo cierras 
espero q esto te sirva.

el error q te da de Warning: Cannot modify header information - headers already sent by (output started at c : \inetpub\wwwroot\ejemplo2.php:1) in
c : \inetpub\wwwroot\ejemplo2.php on line 6 este es muy tipico, no puedes mandar nada al cliente si vas a usar un header. mirate la documentacion oficial: Header


saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #11 (permalink)  
Antiguo 09/01/2007, 11:59
 
Fecha de Ingreso: julio-2003
Ubicación: Buenos Aires
Mensajes: 96
Antigüedad: 20 años, 9 meses
Puntos: 0
Re: error con $_GET['$ID']

vamos por partes, esto:

if ($_GET['$id'] = "1") { ... }

esta mal por dos razones,

a) con el = estas asignando, no comparando (para comparacion usar ==)
b) una cosa es la variable $id y otra es el argumento pasado por url (pagina.php?id=99). Podes obtener el valor de este ultimo mediante:

$_GET[id]
$_GET['id']
$_GET["id"]
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:45.