Foros del Web » Programando para Internet » PHP »

Problema con include en template

Estas en el tema de Problema con include en template en el foro de PHP en Foros del Web. Hola a todos! Estoy con un tema con una parte de un código que no logro solucionar. Agradecería si alguien que está conectado le puede ...
  #1 (permalink)  
Antiguo 20/02/2012, 07:18
 
Fecha de Ingreso: mayo-2009
Mensajes: 104
Antigüedad: 15 años, 6 meses
Puntos: 0
Problema con include en template

Hola a todos!

Estoy con un tema con una parte de un código que no logro solucionar. Agradecería si alguien que está conectado le puede echar un vistazo!

Código PHP:
<?php if(isset($_GET['page']) && $sec=$_GET['page']){ include("cotenido/$page.php");} else{header ("Location: index.php?page=pag1");} ?>
El código anterior es el código de un template para cargar contenido según el id ($page) del link. Se encuentra en la página sitio.php

El problema es que cuando se cambia a un id que no tiene include aparece un error! Es decir, si uno ingresa al link sitio.php?page=paginaquenoexiste.

Mi idea es que en ese caso vaya a un include de error 404. Qué estoy haciendo mal? Ya probé de todo!

Por otro lado me gustaría mantener que cuando uno ingresa a sitio.php redireccione a $page=1 como está haciendo hasta el momento!

Gracias y agradezco mucho sus rptas!
  #2 (permalink)  
Antiguo 20/02/2012, 07:21
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: Problema con include en template

<?php if(isset($_GET['page']) && $sec=$_GET['page']){ include("cotenido/$page.php");} else{header ("Location: index.php");} ?>
Por otro lado, no hay nada mal, si haces un include basándote en un input por $_GET, necesariamente fallará cuando el archivo no exista. Hacer includes con input proveniente del usuario o por URL es una pésima práctica. De todas maneras puedes hacerlo y evaluar $_GET['page'] con un switch con un bloque default. Otra alternativa es usar la función file_exists para comprobar si el archivo existe antes de hacer el include.
Saludos
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 20/02/2012, 07:26
 
Fecha de Ingreso: noviembre-2010
Ubicación: Córdoba
Mensajes: 119
Antigüedad: 14 años
Puntos: 8
Respuesta: Problema con include en template

Lo mas sencillo sería que utilizases un número por defecto, por ejemplo 0, el cual no tendrá nada.

Etiquetas: include, template
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 11:10.