He visto que muchos estais interesados en aplicar un sistema de modulación a vuestro sitio web pero no entendeis muy bien que es lo que debeis hacer ni como lo teneis que aplicar. Por esto, me he decidido a crear este tutorial que constará de una unica parte en la que espero explicar con todo detalle el funcionamiento de un sistema de modulación del tipo:
archivo.php?id=seccionDicho esto empezaré dando una introducción sobre la utilidad de este sistema.
Un sistema de Modulación sirve para evitar tener que crear tantos archivos como secciones tengamos, por ejemplo, Si yo tuviera una web que tuviera la siguientes secciones:
- Principal
- Galeria
- Informacion
- Descargas
Tendría que crear 3 archivos diferentes con el diseño de la web y el contenido de cada seccion, pero con el sistema de modulación solamente tendremos que tener creado un solo archivo con el diseño (normalmente es el index.php) y todas las secciones restantes solamente tendrían el contenido.
Voy a llevar esta idea a la realidad, para ello voy a hacer lo siguiente:
- Crearé un archivo llamado index.php en el cual estará el diseño de la web con todos los menus creados pero dejaré el lugar donde se verá el contenido vacio.
- Crearé un archivo llamado principal.php en el que estará el contenido que se verá en la principal
- Crearé un archivo llamado informacion.php con el texto que yo desee, por ejemplo: Un Sistema de modulacion nos facilita el desarrollo de una web
El archivo
index.php podría ser algo como:
<html>
<head>
<title>Pagina web</title>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="20%">:: Principal<br>
:: <a href="index.php?id=galeria">Galeria</a><br>
:: <a href="index.php?id=informacio">Información</a><br>
:: <a href="index.php?id=descargas">Descargas</a></td>
<td valign="top">
<?PHP
if (isset($_GET['id'])) {
if (!empty($_GET['id']) && $_GET['id'] != "index") {
if (file_exists($_GET['id'].".php")) {
include ($_GET['id'].".php");
} else {
echo "No existe esta seccion";
}
} else {
include ("principal.php");
}
} else {
include ("principal.php");
}
?></td>
</tr>
</table>
</body>
</html>
principal.phpBienvenido al tutorial sobre el SISTEMA DE MODULACION en PHPeros.net
informacion.phpUn Sistema de modulacion nos facilita el desarrollo de una web
Deducimos, por tanto, que el codigo que realiza la modulacion es el siguiente:
<?PHP
if (isset($_GET['id'])) {
if (!empty($_GET['id']) && $_GET['id'] != "index") {
if (file_exists($_GET['id'].".php")) {
include ("./".$_GET['id'].".php");
} else {
echo "No existe esta seccion";
}
} else {
include ("principal.php");
}
} else {
include ("principal.php");
}
?>Lo que hago es comprobar si existe la variable superglobal id, si existe compruebo si no es igual a index (provocaría un bucle infinito) y no esta vacio. Despues compruebo si existe el archivo correspondiente a la seccion que deseo ver y si existe lo incluyo para que se vea, sino muestro un error.
Si no ha elegido ninguna seccion, es decir, si no existe la variable superglobal id, se muestra la pagina principal

El sistema se aplica del siguiente modo:<a href="index.php?id=galeria">Galeria</a><br>
<a href="index.php?id=informacion">Información</a><br>
<a href="index.php?id=descargas">Descargas</a>
Para poder añadir mas secciones, solamente debes crear un archivo por ejemplo que se llame archivo.php y crear otro enlace del siguiente tipo:
<a href="index.php?id=archivo">Seccion</a><br>
¿Alguna duda?