Tema: FAQ's de PHP
Ver Mensaje Individual
  #25 (permalink)  
Antiguo 08/12/2002, 11:36
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Tema: Web Modulares

Pregunta: Como hago esas páginas web que las secciones q incluyen son del tipo index.php?id=2

Respuesta:

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

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

Código PHP:
<?
$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 seran del tipo:

nombrequeledemos.php?id=nº
(podriamos usar identificativos no numericos .. tan solo usar case tipo: case "nombre" ...

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

Código PHP:
<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>
Un saludo,