Una de las ventajas al trabajar con archivos .php es la posibilidad de poder insertar una página dentro de otra, me explico:
Hay un menú que va a salir, el mismo, en todas las páginas que comprenden una web. Pues en lugar de copiar y pegar ese menú en todas las páginas (o crearlo desde cero en todas), lo guardamos en una página (da igual la extensión) y llamamos a ese archivo desde todas las páginas en las que queremos que se muestre. De esta forma, con una sola modificación actualizaremos el menú de todas las páginas.
Para hacer esto tenemos dos funciones en php: include () y require().
La forma de trabajar con ellas es la siguiente, la página principal (la que contenga las demás) debe tener extensión .php y el contenido a añadir debe incluirse con los siguientes código:
<?
include 'menu.html';
require ('menu.html');
?>
Aunque pensándolo bien está mal dicho “incluir una página dentro de otra” ya que lo incluimos no es una página en sí, sino una porción de ella, un trozo de código (sin cabeceras ni cuerpo del documento). Algo cómo por ejemplo, esto:
<ul> <li>Enlace</li> <li>Enlace</li> </ul>
La diferencia entre estas dos funciones es que con include cuando ocurra un error en el archivo a procesar el recorrido seguirá haciendose independientemente de ese error, useasé lanzará ese error pero seguirá mostrando el contenido que siga encontrando en la página principal. Por el contrario, require, al encontrar un error detendrá toda la lectura de la página. Yo suelo usar include, aunque aconsejo usar require cuando la página a añadir sea indispensable para el buen funcionamiento / visionado de la principal.
También podéis usar require_once () e include_once (), que incluyen una página pero solamente una vez, así si no te has dado cuenta y la habías incluido ya antes, no te lo duplicará.
Esto es una de las cosas que primero se aprenden en php (por lo menos en mi caso) pero siempre viene bien recordarlas ya que nos darán mucho juego
Twittea esto Guardalo en Delicious Compartelo en Facebook








Abril 25th, 2009 at 16:51 pm
Esto fue lo que me hizo dar el paso a php. Recuerdo cuando alguna de mis primeras webs hechas 100% en HTML alcanzaba un número interesante de páginas y modificarlas 1 por 1 era una pesadilla.
Al principio, la solución fue insertar frames, pero era una auténtica guarrada.
Abril 26th, 2009 at 11:19 am
además de verdad! que rabia me daba a mi tener q modificar lo mismo en todas las páginas.
Ahora no hay una web que haga que no incluya estas funcioncitas..^^
Mayo 7th, 2009 at 20:59 pm
[...] días leí en el blog de Natalí un artículo sobre PHP básico pero muy interesante. Trataba de como incluír una página dentro de otra usando includes. Fue con este descubrimiento (largos años atrás) cuando me decidí a a prender PHP. Hacer cambios [...]
Junio 26th, 2009 at 23:16 pm
ua preguntita ya que veo que le das al tema… y un include que incluya un fragmento con otro include es legal?
Junio 30th, 2009 at 18:27 pm
Hola juan!
yo siempre lo he tomado por legal, ya que lo que importa ahí es lo que contengan tus includes..
Un saludo!
Julio 1st, 2009 at 23:30 pm
¿?Como se puede hacer esto, pero sin que recargue la pagina entera, es decir, que al hacer clic en un vinculo solo recargue la parte del contenido de la pagina, como se hacia con iframes, pero sin recargar la pagina externa que tiene el menu, logo, etc..
Julio 1st, 2009 at 23:31 pm
..sin recargar implicaria no pasar variables por la url.. algo que tampoco quiero hacer.. Gracias!
Julio 2nd, 2009 at 0:38 am
Hola Mauricio!!
Para eso lo mejor es Ajax, la teoría es crear una función a la que le mandemos una url (el contenido a mostrar) y un nombre (id del div en el que se mostrará), la puedes añadir a un enlace y se realizará la preparga sin recargar la página.
Con lo que te he comentado supongo que podrás encontrar algo por internet, si no lo consigues avisame y me tomo un poco más de tiempo en explicarte mejor
Un saludo!!
Julio 2nd, 2009 at 1:11 am
muchas gracias, creo que encontre lo que me dijiste, si queres te paso la pagina de donde.. luego lo leo mas detenidamente, pero casi seguro ya entendi. Saludos!
Octubre 20th, 2009 at 19:54 pm
Hola! me interesó mucho esto último que están comentando, de utilizar funciones para no recargar toda la página. Recién me estoy iniciando en php y es super útil el tema de los includes, si puedieran darme una pauta de cómo buscar para aplicar los enlaces en funciones como mencionan se los agradecería.
Desde ya saludos a todos y gracias.
Excelente el blog, siempre encuentro cosas útiles.
Octubre 26th, 2009 at 9:32 am
Hola ksper!
Más que con php para recargar partes de la página debes utilizar ajax (javascript), hace unos días escribí un artículo sobre ello:
Ajax: Aprendiendo a cargar contenido en un div.
Échale un vistazo a ver si haces una mejor idea del funcionamiento
Saludos!!