Como tener cabecera y constantes y contenido variable

Muy buenas a todos.

Estoy tratando de hacer la web del AMPA del colegio de mi hijo y tengo un problema.

Primero os muestro la web: www.ampaantoniorrobles.org

Como veis tiene una cabecera, un cuerpo principal donde va el contenido y un pié. Hasta ahora y siguiendo algo que leí por internet, hice varias páginas con cabeceras y pies idénticos para cada uno de los contenidos de la web, pero no es funcional. Si quiero cambiar algo de la cabecera o del pie, tengo que ir página por página haciendo ese cambio, y esto no es práctico.

Tiene que haber una manera que permita tener un sólo código para la cabecera y para el pie (o menú lateral en su caso) y usarlo en cada una de las subpáginas. Y si hay que cambiar algo de esa cabecera o pie, hacerlo una sola vez. (Esto con los antiguos frames era fácil, pero con ellos no sé como centrar la página en el navegador)

Así que si alguien puede explicarme como hacerlo, con un sencillo ejemplo le estaré muy agradecido.
Con php es facil para ello deveras pasar todos los archivos de .html a .php
despues deves crear una carpeta llamada como quieras y despues crear los siguientes archivos y los pones en el interior de la carpeta


cabecera.php y poner en su interior compretamente vacio solo el contenido logo etc
menu-lateral.php lo mismo
pie.php lo mismo


despues en el index y demas paginas haces ejempro


index.php


<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.0 Transitional//EN">


<html>
<head>
<title>Page title</title>
</head>
<body>
<div id="cabecera">
<?php include_once("carpeta/cabecera.php");?> // se incluye el contenido cabecera
</div>
<div id="menu-lateral">
<?php include_once("carpeta/menu-lateral.php"); ?> // se incluye el contenido menu lateral
</div>
<div id="pie">
<?php include_once("carpeta/pie.php");?> // se incluye el contenido pie
</div>
</body>
</html>




así solo deveras editar cabecera.php menu-lateral.php y pie.php y se actualizara en toda la web
y por ultimo creas un archivo index.html vacio y lo pones dentro de la carpeta donde estan los tres includes es por medidas de seguridad lo del index.html
Lo primero, muchas gracias por tu respuesta.

Perooooo... no consigo hacerlo funcionar.

Al principio creí que era problema de las comillas. Unas están inclinadas a la derecha, otras a la izquierda, ... pero las he puesto todas rectas y sigue sin funcionar.

He probado con archivos .php .inc y .inc.php pero tampoco.

He simplificado todo lo que he podido el ejemplo. Lo he dejado así:

index.php:

<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.0 Transitional//EN">

<html>
<head>
<title>prueba</title>
</head>
<body>

<div id ="pie">
<?php include_once("carpeta/pie.php");?> <!-- se incluye el contenido pie -->
</div>

<p>Contenido principal</p>

</body>
</html>


pie.php:

<div align="center"><strong>CoNtEnIdO del PiE PHP</strong></div>


Y he colgado el resultado en www.ricar69.com/01/index.php

A ver si podéis echarme una mano. Si consigo que funcione este ejemplo tan sencillo, creo que podré con el resto.
bueno puse todas las comillas así " me parece que no tienes ninguna carpeta llamada carpeta tienes una carpeta llamada 01 por lo tanto seria así

<?php include_once("01/pie.php");?>

o así

<?php include_once("/01/pie.php");?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTDHTML 4.0 Transitional//EN">

<html>
<head>
<title>prueba</title>
</head>
<body>

<div id="pie">
<?php include_once("01/pie.php");?> <!-- se incluye el contenido pie -->
</div>

<p>Contenido principal</p>

</body>
</html>
La carpeta llamada carpeta está dentro de 01. De todas formas probé a ponerlas en el mismo directorio o en diferentes, pero no hay manera. Y acabo de probarlo como has puesto en tu último post y tampoco :( .

Serías tan amable (si no es mucho abusar) de hacer tú algo como esto, probarlo y poner el código. O subirlo a algún sitio web.

Gracias de nuevo
Hola Francisco, y de nuevo muchas gracias.

He descargado los tres archivos index.php, header.php y footer.php y he estado observando el código y no termino de entenderlo.

Este es parte del código de index.php, la parte final donde está el cuerpo y el pie:

<div id="mainContent">
<h2>Includes</h2>
<b>Hola ricar aqui esta el header y el footer con includes</b><br><br><br><br><br><br>
<!-- end #mainContent --></div>
<div id="footer">
<p align="center"><img src="images/1.gif" width="180" height="1" />AMPA Antoniorrobles - <a href="mailto:[correo eliminado]">[correo eliminado]</a><img src="images/1.gif" width="50" height="1" /><span class="oculto"><a href="http://www.mipcera.com" target="_new"><img src="images/mipc.gif" width="154" height="15" border="0" /></a></span></p>
<!-- Incluimos el footer -->
<!-- end #footer --></div>
<!-- end #container --></div>
</body>
</html>

No veo por ningún lado los includes. En el div del pie aparece el código que tendría que ir dentro de footer.php

¿El código de tu index.php es igual que éste? ¿Puedes pegarlo aquí?

El código que pusiste arriba:
<?php include_once("carpeta/header.php");?>
<?php include_once("carpeta/footer.php");?>
Tiene que estar dentro de index.php ¿no?

Siento dar esta matraca, pero es que no termino de verlo.

Gracias por tu paciencia.
Bueno, ya sé que me estaba pasando.

El host con el que estaba probando, no admite PHP.

He probado con otro host que sí admite PHP y ya funciona.

Francisco, te debo unas cervezas, mil gracias.
creoq ue te lo han dicho, pero con la función include en php se puede hacer y es muy fácil. hay un tutorial en el foro