Yes! Ik had al zo'n blauw vermoeden. :d
- Je kan een <frameset> opbouw maken. Dat heeft als nadeel dat het een 1-pagina website wordt: een andere pagina dan de startpagina is er niet, maar wordt getoond door een pagina-wissel in een frame. In de adresbalk blijft de startpagina staan, een eenvoudige verwijzing naar een andere pagina (bv. in een mailtje: "Zie de pagina www.mijnsitenaam.nl/contact.htm") is onmogelijk. Via een zoekmachine binnengekomen bezoekers komen op een "binnenpagina" uit, en missen zodoende het logo, menu enz. (of je zou er speciaal javascript in moeten zetten). De onderdelen in de frames moeten allemaal echte html-pagina's zijn, met elk een <head>, een <body>-sectie, enz. - Verder kan een inhoud-pagina lang of kort zijn, maar dat weet de <frameset>-pagina niet van te voren. Dan komt er ofwel teveel ruimte, ofwel een te kleine ruimte met een extra scrollbar. Tenzij je daarvoor ook weer javascript gaat gebruiken.
- Je kan losse pagina's maken, waarin de herhalende onderdelen er via een serie <iframe>'s in zitten. Dat neemt een aantal van de <frameset>-bezwaren weg, maar je blijft o.a. wel steeds de overbodige <head>'s enz. van alle ingebouwde iframe-pagina's houden: extra code, extra downloadtijd, extra co2.
- Frames, in welke vorm ook, zijn dus sterk af te raden! Zie verder: "Alles over frames: waarom worden frames afgeraden?" op Webrichtlijnen.nl.
Maar-maar-maar?
Maar ...
het kan ook anders, zonder dat je op elke pagina dingen moet gaan zitten herhalen.

Het toverwoord is: "php-include".
Met een simpel code-regeltje verwijs je naar een code-fragment. Dat is een uitgeknipt stukje html, dat er op elke pagina in moet komen. De server plakt dit er dan automatisch op elke pagina in. Klaar!
Iets veranderen op alle pagina's (bv.een nieuw menu-item)? Even het menu-fragment bijwerken, en het staat meteen op alle pagina's!
De enige voorwaarde is dat je provider het gebruik van php ondersteunt, maar dat is bij vrijwel alle hosting-pakketten het geval.
Hoe doe je dit? Bijvoorbeeld:
De kop apart
Je maakt eerst een pagina helemaal als complete pagina. Ga naar de broncode en selecteer de hele <div> van de header:
HTML:
<div id="header">
<img id="logo" src="..." width="..." height="..." alt="">
<h1>Mijn Super-de-Luxe-PHP-Site</h1>
<div id="topmenu">
<ul>
<li><a href="...">Home</a></li>
<li><a href="...">Uitvindingen</a></li>
<li><a href="...">Webwerk</a></li>
<li><a href="...">Vakanties</a></li>
</ul>
</div>
</div>
Kopieer deze code, en plak deze als "kaal codefragment" in een nieuwe pagina (dus zonder <head>, <body> enz.). Sla deze pagina op als kop.htm in de map includes.
Knip de hele <div id="header"> nu uit de pagina, en zet daarvoor in de plaats het regeltje:
PHP:
<?php include("includes/kop.htm"); ?>
Op de andere pagina's doe je hetzelfde, en met andere gelijkblijvende onderdelen kan je ook hetzelfde doen.
De oorspronkelijke pagina's (waar de include-verwijzingen in staan) geef je de uitgang
.php ipv
.htm.
That's all!
Met vriendelijke groet,
CSShunter
__________
PS: ik heb ergens een hele tutorial voor het opzetten van een php-site (het bovenstaande is daar een stukje uit), maar die site is momenteel %#s4GRMFF%@*%#* :evil: gehackt, dus ik kan niet doorlinken. De provider doet z'n best de zaak te cleanen...
Edit:
Hij staat nu hier:
bliksekaters.nl/phpsite/tutorial.htm