Foros del Web » Programando para Internet » PHP »

Archivo PHP dentro de include que se pasa variables

Estas en el tema de Archivo PHP dentro de include que se pasa variables en el foro de PHP en Foros del Web. Hola a todos. He buscado por este foro y por google y no he conseguido hallar respuesta a mi problema. Ojalá me podáis ayudar. El ...
  #1 (permalink)  
Antiguo 01/10/2006, 10:54
 
Fecha de Ingreso: mayo-2005
Ubicación: Bilbao, País Vasco
Mensajes: 10
Antigüedad: 18 años, 10 meses
Puntos: 0
Archivo PHP dentro de include que se pasa variables

Hola a todos.

He buscado por este foro y por google y no he conseguido hallar respuesta a mi problema. Ojalá me podáis ayudar. El problema es el siguiente:

Tengo un index.php que tiene un include llamando a galeria.php (esto es, un álbum Open Source embebido en el diseño de mi web). A su vez, galeria.php se pasa variables del tipo galeria.php?a=b para llamar a páginas. Cuando esto ocurre, galeria.php se muestra sola en el navegador sin mostrarse dentro de mi diseño.

Lo que he pensado es que quizás la galería debería pasar las variables a index.php, pero no tengo ni idea de cómo podría hacer eso, ya que tendría que modificar el código del álbum. Esto sería algo costoso y dudo que tuviera éxito en la tarea, y teniendo en cuenta que es algo común embeber CMS o foros en diseños personales, me supongo que deberá haber alguna solución más sencilla.

Espero haberme explicado bien y agradecería enormemente cualquier tipo de ayuda que me pudieseis ofrecer.

Por si sirve de algo, el álbum en cuestión es el Coppermine. He mirado en su documentación pero no he encontrado nada al respecto.

Muchas gracias de antemano.

Un saludo!
  #2 (permalink)  
Antiguo 01/10/2006, 11:41
 
Fecha de Ingreso: septiembre-2006
Mensajes: 59
Antigüedad: 17 años, 6 meses
Puntos: 0
Hola.

No se si he entendido tu pregunta....

Pero si quieres pasar variables:

a) por get, puedes forzar tu la url como la quieres pasar.

B) variables de session.

No se si te habre ayudado...

suerte

Saludos
  #3 (permalink)  
Antiguo 01/10/2006, 11:41
Avatar de weti  
Fecha de Ingreso: abril-2006
Mensajes: 18
Antigüedad: 17 años, 11 meses
Puntos: 0
respuesta chapucera pero q quizas te sirva:

xq no haces el include al reves dentro d la galeria.php ?

me refiero a si tienes una cabecera, contenido (q sera la galeria) y un pie ...

include('cabecera.php');

[... todo el codigo de la galeria ...]

include('pie.php');

la diferencia es q si haces el include en el index.php cada vez q pases variables se las pasas a galeria.php y entonces lo q t carga es galeria.php en vez d index.php.

De esta manera q t explico cuando cargue galeria.php alli ya tendra un include con el codigo de tu index.php pero partido en 2 trozos.

quizas asi no funcione, comentanos si encuentras otra manera mejor ;)

EDITO: esa galeria la use hace un tiempo y en la carpeta de los temas tienes el codigo muy simple que puedes tb editar para ponerlo igual q tu index.php (tambien puedes probar mi solucion chapucera ahi jejejejeje)

Última edición por weti; 01/10/2006 a las 11:47 Razón: siempre se me olvida algo xD
  #4 (permalink)  
Antiguo 01/10/2006, 12:00
 
Fecha de Ingreso: mayo-2005
Ubicación: Bilbao, País Vasco
Mensajes: 10
Antigüedad: 18 años, 10 meses
Puntos: 0
Muchas gracias por las respuestas.

Thonso22, para hacer eso tendría que retocar el código fuente del álbum, lo cual me sumergiría en un entorno de ignorancia y caos con resultados insospechados.

Weti, lo de embeber a la inversa ya lo había pensado, y para esto me serviría, pero me encontraría con otro problema, ya que en mi página quiero embeber más cosas que la galería, y de esa manera solamente podría embeber la galería. Con la otra solución que yo buscaba, tendría la manera de poder embeber (empiezo a odiar esta palabra anglosajona) la galería, un foro SeoBoard y un calendario que también quiero incluir en la página.

Por lo de la carpeta de los temas que comentas, desde ahí es desde dónde he modificado el tema por defecto del Coppermine para adaptar el diseño al de mi web, y por esa parte perfecto, quiero decir, embebedida la galería ya esta, simplemente que al hacer click en algún enlace interno se va todo al garete por el tema de las variables.

He estado pensando algo pero no se si sería posible, lanzo la pregunta... La solución podría ser que en vez de la función include() usase un iframe?? Me ha llegado a la mente pero no sé si es una estupidez o algo coherente.

Muchas gracias por lo aportado, a ver si algún iluminado más me puede ayudar con esto

Última edición por iraultza; 01/10/2006 a las 12:02 Razón: Se me había olvidado :D
  #5 (permalink)  
Antiguo 01/10/2006, 14:04
Avatar de weti  
Fecha de Ingreso: abril-2006
Mensajes: 18
Antigüedad: 17 años, 11 meses
Puntos: 0
lo de los iframes podria ser tambien una idea y donde mejor te ayudarian seria en el foro d javascript. Si te miras los tutoriales creo q hay uno para poder pasar variables de un iframe a otro y viceversa. No se si van por ahi la idea que tienes en mente pero podrias integrar (por no decir embeber xDDDDD) tu galeria dentro d un iframe y pasar las variables por javascript a la pagina principal pero kizas asi tendrias el problema de q al volver a cargar la pagina tendrias q volver a pasarlas al iframe.

Javascript no es mi fuerte, pero puede q sea la solucion a tus problemas, pasate por el subforo y pregunta a ver si se puede hacer algo asi.

PD: cuando acabes la pagina posteala para echarle un vistazo que tiene muy buena pinta tu idea xD
  #6 (permalink)  
Antiguo 01/10/2006, 17:09
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 17 años, 7 meses
Puntos: 0
Al hacer un include() haces que el codigo se ejecute en la pagina que lo llama y no se ejecuta en la pagina fuente, por lo tanto lo unico que tienes que hacer en la pagina fuente es usar las variables.

Mira un ejemplo sencillo

//include.php
<?php
$var = 1;
include("incluido.php");

?>
//incluido.php
<?php
echo $var;
?>

Veras que funciona en forma, obiamente esto solo aplica si los dos archivos estan en el mismo servidor. X.
  #7 (permalink)  
Antiguo 01/10/2006, 17:35
 
Fecha de Ingreso: septiembre-2004
Mensajes: 252
Antigüedad: 19 años, 6 meses
Puntos: 0
index.php

Código:
<html>
<head>
</head>
<body>
<a href="?">inicio</a>
<a href="?pagina=algo">algo</a>
<a href="?pagina=otracosa">otra</a>

<!-- ubicar donde queres que aparezcan los archivos a incluir -->
<?php
if ( $pagina == "algo" ){
                  include ("pagina.php");
}
elseif($pagina == "otracosa"){
             include ("pagina2.php");
}
else{
             echo "solo se lee esto en index.php";
}

?>
pagina.php
Código:
<?php
echo "estoy en pagina.php";
?>
pagina2.php
Código:
<?php
echo "estoy en pagina2.php";
?>
  #8 (permalink)  
Antiguo 02/10/2006, 03:36
Avatar de weti  
Fecha de Ingreso: abril-2006
Mensajes: 18
Antigüedad: 17 años, 11 meses
Puntos: 0
lo mejor es lo que plantea GermanBsAs, y t recomiendo que lo pruebes pero quizas eso plantee tb otros problemas, ya q cuando pase algo por GET la direccion dejaria de ser "?pagina= algo" y daria error.
  #9 (permalink)  
Antiguo 02/10/2006, 04:53
 
Fecha de Ingreso: mayo-2005
Ubicación: Bilbao, País Vasco
Mensajes: 10
Antigüedad: 18 años, 10 meses
Puntos: 0
Muchísimas gracias a todos por vuestras respuestas.

GermanBsAs, la verdad es que tu idea es muy buena, no se me había ocurrido, pero en ese caso tendría que retocar el código del álbum php para que mandará las variables y llamara a index.php en vez de a pagina2.php. Esto no tienen ningún inconveniente más que no tendría ni idea de hacer eso, y tendría que retocar todas-toditas las páginas php del álbum.

Peeeero... al final lo conseguí! Lo que he hecho ha sido modificar la plantilla del álbum poniendo como encabezado y pie el diseño principal de mi web, que puede sonar a sencillo, pero el diseño de mi web tiene php y la plantilla sólo la podía modificar en html, lo cual me ha supuesto unas horitas retocando código.

Lo dicho, gracias a todos, ahora sólo me queda implementar el foro y el calendario. Lo conseguiré? En todo caso, cuando lo haya acabado, postearé aquí el resultado final para que veáis la web.

Un saludo!!
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 07:50.