Foros del Web » Programando para Internet » PHP »

incluir página dependiendo de una condición

Estas en el tema de incluir página dependiendo de una condición en el foro de PHP en Foros del Web. Hola amig@s. Me gustaría conseguir en php que Código PHP: if( $variable  ==  1 ) {      include( 'pagina_de_funciones.php' ); } else if( $variable  ==  2 ) ...
  #1 (permalink)  
Antiguo 10/01/2012, 04:56
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 4 meses
Puntos: 2
incluir página dependiendo de una condición

Hola amig@s.
Me gustaría conseguir en php que
Código PHP:

if($variable == 1)
{
     include(
'pagina_de_funciones.php');
}
else if(
$variable == 2)
{
    include(
'otra_pagina_de_funciones.php');
}
.
.


Una vez incluída esa página quiero ejecutar las funciones que contiene.

He probado llamarla tanto con php simple como con xajax y ocurre que no me la enlaza.
Si la llamo desde php y luego intento ejecutar una funcion me dice que dicha función no existe.
Si la llamada la hago desde xajax deja de reproducirme todo el código que le sigue.

Alguien puede darme alguna idea?
Gracias.
  #2 (permalink)  
Antiguo 10/01/2012, 05:02
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 6 meses
Puntos: 140
Respuesta: incluir página dependiendo de una condición

Hola! para ver por donde va el error, puedes probar lo siguiente!:

Comprobar que te carga los includes:
-metele al principio del include un echo "hola" por ejemplo, y si lo muestra en pantalla, es que se cargan bien.

Comprobar que las funciones són correctas:
Coje la función que tengas que usar, y pon directamente el código en el if de la página, y comenta el include.
Si así tampoco te funciona, tienes un problema con las funciones.
Si sí que te funciona así, pero no con el include que las carga... pues no sé, estaría bien que incluyeses aquí más información para que alguien te pueda ayudar!

SAludos
  #3 (permalink)  
Antiguo 10/01/2012, 05:15
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: incluir página dependiendo de una condición

Gracias por la respuesta!!
Los includes sí me cargan. En el index, por ejemplo, llamo a funciones.php y en funciones.php llamo a funciones_xajax.php.
Hasta ahí todo bien, es más, si en la condición, en lugar de usar el include pongo un echo o un objeto xajax que luego mando a imprimir, me lo hace correctamente.
Lo que no me coge es el include en la condición...
  #4 (permalink)  
Antiguo 10/01/2012, 05:54
 
Fecha de Ingreso: enero-2012
Ubicación: Serra do Galiñeiro
Mensajes: 20
Antigüedad: 12 años, 3 meses
Puntos: 1
Información Respuesta: incluir página dependiendo de una condición

Hola aniMAYtions,
yo suelo utilizar require_once en vez de includes para evitar la duda de si cargó o no.
Por otro lado, lo utilizo mucho para seleccionar el contenido que quiero cargar en el index.php, por ejemplo:
Código PHP:
Ver original
  1. <?php
  2. //====URL==========
  3. $juego=$_GET["j"];
  4. $seccion=$_GET["s"];
  5. //====HEAD=========
  6. require_once("./html/head.php");
  7. //====CONTENIDO====
  8. if ( $juego == 'euro'){
  9. require_once("./html/euro.php");
  10. } elseif ( $juego == 'primi'){
  11. require_once("./html/primi.php");
  12. } elseif ( $juego == 'bono'){
  13. require_once("./html/bono.php");
  14. }else {
  15. require_once("./html/euro.php");
  16. }
  17. //====FOOTER=======
  18. require_once("./html/footer.php");
  19. ?>

En este caso paso el juego y la seccion del juego por la url, y segun el resultado selecciono el html correspondiente.


Saludoss.
  #5 (permalink)  
Antiguo 10/01/2012, 06:09
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: incluir página dependiendo de una condición

Buen ejemplo, gracias.

Vi cuál era el fallo. Con el include lo que hago es incrustar el código en ese punto y si en esa página ya tengo declaradas todas las sentencias para ejecutar xajax, no puedo redeclararlas en la otra página de funciones.
Eso lo solucioné, lo que ocurre ahora es que no se carga la función de la otra página a la que llamo...

No me termina de quedar muy claro, a ver. Tengo un index.php, un funciones.php y un funciones_xajax.php.
La página que se me ha vuelto pesada por llevar mucho código, y que por tanto quiero dividir en otras en función de un atributo del usuario es funciones_xajax.php. Esta página me servirá de enlace con la nueva que me interese y mantendrá funciones comunes para todos los ususarios.
Mi pregunta es, qué sentencia utilizo?
include, include_once, require, require_once....

Gracias!!
  #6 (permalink)  
Antiguo 10/01/2012, 07:23
 
Fecha de Ingreso: enero-2012
Ubicación: Serra do Galiñeiro
Mensajes: 20
Antigüedad: 12 años, 3 meses
Puntos: 1
Información Respuesta: incluir página dependiendo de una condición

Yo como te dije utilizo siempre require_once y sin problema, cierto es que tampoco he hecho ninguna aplicación muy elaborada, en la que quizás si pueda haber algún motivo para utilizar include u otra cosa.
Para la carga de código, a mi me pasaba algo parecido, y al final opté por despedazar todo en archivos, seguramente habrá mil sistemas mejores, pero para mis necesidades es lo que mejor me va, gráficamente sería algo asi



de esta forma tengo el codigo que se emplea en todas las páginas (sesiones, conexiones,funciones de uso común...) por un lado, y el específico de cada pag. por separado.

Lo que me solía pasar al principio, es que en los archivos que incluía, las rutas relativas las ponía desde el propio archivo en vez de hacerlo desde el archivo donde se carga.

Saludos.

Etiquetas: condición, dependiendo, incluir, página, variables
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:37.