Foros del Web » Programando para Internet » PHP »

Problemas con include o con pasar variables desde la barra de direcciones

Estas en el tema de Problemas con include o con pasar variables desde la barra de direcciones en el foro de PHP en Foros del Web. Como la naturaleza de mi problema ha cambiado, he decidido abrir un nuevo post con la nueva situación de mi fallida página web. La web ...
  #1 (permalink)  
Antiguo 27/06/2009, 04:20
 
Fecha de Ingreso: marzo-2004
Mensajes: 35
Antigüedad: 20 años, 8 meses
Puntos: 0
Problemas con include o con pasar variables desde la barra de direcciones

Como la naturaleza de mi problema ha cambiado, he decidido abrir un nuevo post con la nueva situación de mi fallida página web.

La web está construida de la siguiente manera: una página principal, llamémosla Principal.php (index.html redirige automáticamente a ésta, por lo que no la tendré en cuenta), donde según la id que se le pase en la barra de direcciones hago include un archivo .php correspondiente a cada sección. Por ejemplo: todo_lo _de_la_barra_de_direcciones/Principal.php?id=1 me cargaría (con include) Seccion1.php en Principal.php. El código tiene más o menos este aspecto (la versión real es algo más complicada -no mucho- pero con que sólo me fucionara esta parte habría adelantado mucho).
Código:
<?
if ($id == "1") {
	include ("PHP/Seccion1.php");}

elseif ($id == "2") {
	include ("PHP/Seccion2.php");}
?>

Luego la cosa funciona con hipervínculos:

<a href="todo_lo _de_la_barra_de_direcciones/Principal.php?id=1">Sección 1</a>
<a href="todo_lo _de_la_barra_de_direcciones/Principal.php?id=2">Sección 2</a>
El caso es que no carga lo que se le pide, porque a veces hago include archivos php sin conexión a base de datos (que puedo ver perfectamente si escribo su ubicación en la barra de direcciones) y tampoco funciona, por lo que me temo que el error pudiera residir en confiar tanto en la barra de direcciones. En localhost este sistema me funcionaba perfectamente, pero ahora que lo he subido al nuevo servidor no hace include nada.

¿A qué puede deberse esto? ¿Tiene solución sin replantear toda la estructura de la web? Llevo dos mañanas probando rutas diferentes (completas, abreviadas, añadiendo eso de $_SERVER["DOCUMENT_ROOT"]. por si funcionara...), probando con require en lugar de include, y comparando la estructura actual con la que tenía en localhost porque no se me ocurre otra cosa y no he avanzado nada. ¿Por qué puede no estar obedeciendo el include si en localhost lo hacía y he adaptado las rutas a la nueva ubicación?

Muchas gracias,

My_lady
  #2 (permalink)  
Antiguo 27/06/2009, 04:47
 
Fecha de Ingreso: marzo-2009
Ubicación: yokze
Mensajes: 177
Antigüedad: 15 años, 8 meses
Puntos: 3
Respuesta: Problemas con include o con pasar variables desde la barra de direcciones

Hola, no te respondo con seguridad, xq nose si ese codigo es completo..pero para conseguir la variable q pasas por URL no es suficiente a la forma en que lo has hecho :S

Si por ejemplo tu url la tienes asi: ..principal.php?id=2 o ?seccion=1 o lo que sea, para conseguir ese id=2 o seccion=1 tendrias que usar esto: $_GET[id] o $_GET[seccion]

Por lo que el codigo te quedaria así:
Código php:
Ver original
  1. <?
  2. if ($_GET[id] == "1") {
  3.     include ("PHP/Seccion1.php");}
  4.  
  5. elseif ($_GET[id] == "2") {
  6.     include ("PHP/Seccion2.php");}
  7. ?>
  8.  
  9. Luego la cosa funciona con hipervínculos:
  10.  
  11. <a href="todo_lo _de_la_barra_de_direcciones/Principal.php?id=1">Sección 1</a>
  12. <a href="todo_lo _de_la_barra_de_direcciones/Principal.php?id=2">Sección 2</a>
  #3 (permalink)  
Antiguo 27/06/2009, 05:50
 
Fecha de Ingreso: marzo-2004
Mensajes: 35
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Problemas con include o con pasar variables desde la barra de direcciones

Muchísimas gracias, manumar, no se me habría ocurrido eso nunca porque como el localhost funcionaba sin $_GET ni nada, jamás me hubiera planteado que hiciera falta. Pero ahora tengo un problema nuevo, porque en los casos de igualdad funciona perfectamente, pero en los de desigualdad no. He expresado la desigualdad con != dando como resultado, por ejemplo (código real):
Código:
if($_GET[orden] != ""){
	$clausula = $clausula. " order by " .$orden. " asc";}
¿Es correcto?¿Debería funcionar? Porque no lo hace...

Muchas gracias,

My_lady
  #4 (permalink)  
Antiguo 27/06/2009, 15:34
 
Fecha de Ingreso: junio-2009
Mensajes: 2
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Problemas con include o con pasar variables desde la barra de direcciones

Buenas, esta es una pequeña sugerencia:


En vez de la condicion que pusiste:
if($_GET[orden] != "")

Creo que deberias poner:
if(!$_GET[orden])

(El signo de exclamacion ! antes de la variable).

Suerte

BeerBan
  #5 (permalink)  
Antiguo 28/06/2009, 03:38
 
Fecha de Ingreso: marzo-2004
Mensajes: 35
Antigüedad: 20 años, 8 meses
Puntos: 0
Respuesta: Problemas con include o con pasar variables desde la barra de direcciones

Muchas gracias, BeerBan y acoevil. Ya conseguí que funcionara, aunque de otra forma. De todas maneras, muchas gracias.

My_lady
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 22:28.