Wenn ich das recht verstanden hab, willst du nun den Schritt zur Templatestruktur gehen und die ollen Frames zum Teufel schicken.
Sehr gute Entscheidung und mit PHP sehr schön zu bewerkstelligen.
Du kannst bestimmte Bereiche auf deiner Seite mit Inhalten aus Textdateien befüllen indem du Funktionen dieses Schema's verwendest:

PHP-Code:
<?php
if($p==""){
  include(
"inc/_main.txt");
}else{
  include(
"inc/_".$p.".txt");
}
?>
Erklärung:
die if-Kontrolle checkt ob die Variable $p, die über die URL übergeben wird (z.B.:http://site.tld/index.php?p=content1), überhaupt einen Wert hat, wenn nicht, wird die Textdatei _main.txt eingebunden.
Das "_" ist ein Zeichen zur Sicherheit damit man nicht alles einfügen lassen kann wozu man lustig ist.

Es gibt aber noch weitere Möglichkeiten das da oben zu gestalten:
PHP-Code:
<?php
if($_GET['p']){
  include(
"inc/_main.inc.php");
}else{
  include(
"inc/_".$_GET['p'].".inc.php");
}
?>
Hier hab ich zum einen darauf geachtet spezielle Variablen zu verwenden damit es auch auf Servern mit deaktivierten register_globals läuft (so'n Sicherheitsding ).
Außerdem arbeite ich hier nicht mit .txt-Dateien sondern mit den Dateiendungen .inc.php welche du standardmäßig in vielen Scripten finden wirst.
Das .php hinten dran verhindert das deine Besucher den eventuellen PHP-Code in den Include-Dateien einsehen können da sie ja geparsed werden wenn ein .php hinten dran hängt.

Dann gibt es da noch unzählige Möglichkeiten Fehler abzufangen. Denn wenn jemand eine Falsche Variable mit der URL übergibt (z.B.:http://site.tld/index.php?p=falsch), wird ein PHP-Fehler ausgegeben der besagt, das es die angeforderte _fehler.txt bzw. _fehler.inc.php nicht gibt.
Um das schönder zu gestalten gibt es, wie bereits erwähnt, diverse Möglichkeiten. Du kannst dir damit aber Zeit lassen, ich wolte es nur mal erwähnen.


Du kannst nun also dieses if/include-Konstrukt dazu nutzen dynamisch Content und andere Bestandteile in eine einzelne Datei hineinzuladen in der dein Design definiert ist.
In den hinzugeladenen Dateien gehören allerdings keine <html><head> udn <body>-Tags mehr wie es z6.B. bei Frames üblich ist. Lediglich der dynamisch zu ladende Content inclusive den gestalterischen HTML-Tags gehört da rein.

Wenn du nun also einen neuen Contentbereich in deine Templateseite (welche das Layout deiner Site beinhaltet) und z.B. eine neue Navigationsleiste laden willst, arbeitest du mit 2 der o.g. if/include-Konstrukten. Eine die den Contentbereich reinlädt und eine weitere die die Navigation an die entspr. Stelle lädt.
Du kannst dabei mit 2 Variablen arbeiten. Eine Variable die den zu ladenden Content beschreibt und eine die die zu ladende Navigation beschreibt:
z.B.:http://site.tld/index.php?p=content1&n=nav4

Und dementsprechend natürlich je ein if/include-Konstrukt für die Contentvariable $p und eine für die Navigationsvariable $n.

Das wäre so ziemlich die einfachste Lösung. So wird es auf auf www.sncc.de genutzt.

Es gibt da aber noch weitaus komplexere, elegantere Möglichkeiten, aber damit solltest du dir Zeit lassen.
Wenn du reif für diese Komplexeren Dinge bist, wirst du es selbst merken.

Ich hab dir mal ein sehr schlichtes Beispielpaket für das Templatesystem geschnürt:
http://www.squarenet.info/staff/choc...latesystem.zip