PHP:Web modulares:¿Cómo hago esas páginas web que las secciones que incluyen son del tipo index.php?id=2

De Foros del Web

La filosofía de ese tipo de webs es en usar la función include() (o require()) para incluir (valga la redundancia) el código que pertenezca a ese identificativo .. en nuestro ejemplo una variable llamada id .. como podría ser cualquier otro nombre.

La decisión de qué página ha de cargar se puede hacer de varias formas .. siendo la más común usar el condicional: switch ..

<?
$id=$_GET['id'];
 
switch ($id) {
   case 1:
       include("pagina1.php");
       break;
   case 2:
       include("pagina2.php");
       break;
   case 3:
       include("pagina3.php");
       break;
   default:
       include("pagina_por_defecto.php"); 
// estado default .. nos determina el estado 
// "si no es ninguna opcion de las anteriores".
} 
?> 

Las llamadas a una página serán del tipo:

nombrequeledemos.php?id=nº (podríamos usar identificativos no numéricos .. tan sólo usar case tipo: case "nombre" ...

Ahora, El sistema es mas versátil .. no se trata sólo de "redirecionar" (si usamos include() ) .. sino de Incluir dentro de otro "armazón" (plantilla-template) base que usemos .. por ejemplo:

<html>
<head>
<title>Web Modular</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<table width="100%" border="0" cellpadding="5">
  <tr> 
    <td colspan="2">Cabecera de nuestra Web</td>
  </tr>
  <tr> 
    <td><a href="index.php?id=1">Secci&oacute;n 1</a><br>
      <a href="index.php?id=2">Seccion 2 </a> </td>
    <td>
<?
$id=$_GET['id'];
 
switch ($id) {
   case 1:
       include("pagina1.php");
       break;
   case 2:
       include("pagina2.php");
       break;
   case 3:
       include("pagina3.php");
       break;
   default:
       include("pagina_por_defecto.php"); 
// estado default .. nos determina el estado 
// "si no es ninguna opcion de las anteriores".
} 
?>
    </td>
  </tr>
  <tr> 
    <td colspan="2">Pie de p&aacute;gina</td>
  </tr>
</table>
</body>
</html>

--Cluster 08 Dic 2002

Este artículo es parte de las FAQs de PHP y el Manual de PHP.

Herramientas personales