Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/12/2008, 03:05
RabidFish
 
Fecha de Ingreso: julio-2008
Ubicación: Córdoba, Argentina
Mensajes: 266
Antigüedad: 15 años, 10 meses
Puntos: 26
Sobre includes en PHP

Hola amigos de ForosDelWeb. Antes que nada, destaco que soy un completo novato en PHP y aunque trato de aprender, no me es fácil. El tema es que tengo un sitio hecho puramente en HTML y me gustaría comenzar a usar más funciones de PHP para hacer el sitio más liviano, sencillo, más profesional y además por el hecho de conocer y aprender sobre este lenguaje. Yo tengo un sitio donde los menús se repiten en todas las secciones, y para no repetir el HTML en todas usé includes de PHP (son 3 menús: uno izquierdo, uno superior y otro derecho). Sin embargo, yo sigo teniendo repetido todo el diseño de las páginas con el contenido y el único espacio que ahorro es el de los menús. Pero según estuve viendo en un tutorial aquí: http://www.desarrolloweb.com/articulos/2472.php
Dicen que si hago el menú en una plantilla general, de esta forma (que lógicamente lo personalicé un poco, saqué las etiquetas de lista y modifiqué el texto de Sección 1, 2 y 3, pero esto no afecta en nada según yo creo).:
Código:
<td width="20%"><p>Menu principal</p>
<ul>
<li><a href="?sec=1">Secci&oacute;n 1 </a></li>
<li><a href="?sec=2">Secci&oacute;n 2 </a></li>
<li><a href="?sec=3">Secci&oacute;n 3 </a></li>
</ul></td>
Podría abrir en esa misma plantilla cada página a la que apuntan las secciones del menú, colocando este código PHP en el contenido (igual aquí: saqué el .html porque sólo uso extensiones .php y también cambié presentacion.html por noticias.php; tampoco afecta, creo):
Código:
<?php
if(empty($sec))
{
include("presentacion.html");
}
else
{
if(file_exists($sec.".php"))
include($sec.".php");
elseif(file_exists($sec.".html"))
include($sec.".html");
else
echo 'Perdón pero la página solicitada no existe';
}
?>
El problema es que lo he probado y el if(empty($sec)) me lo muestra correctamente (que sería presentacion.html o noticias.php en mi caso), pero al hacer clic sobre los elementos del menú (Sección 1, 2 y 3; que apuntan a ../plantilla.php?sec=1, 2 y 3) no sucede nada, cuando se debería abrir por ejemplo 1.php ó 1.html, y esos archivos sí existen (ya sé que sólo se abre uno, el PHP por estar primero, pero no viene al caso ya que eso no influye). No sé si hay que realizar un cambio en el código o qué, la verdad es que me confunde bastante. Vi también que se podían usar unos switches, pero parecía más largo. Saludos y gracias de antemano.

Última edición por RabidFish; 20/12/2008 a las 06:25