Puh...
das ist nicht mal eben schnell erklärt 
Also ich habe für die Navigation 3 Dateien:
1. nav.php .............. (da wird alles zusammengesetzt, gefiltert, pp)
2. nav.html ............. (da steht nicht viel drinnen, eben nur das HTML-Gerüst, link zu den CSS, Hintergrundfarben und ein Platzhalter)
3. nav.txt ................ (da sind alle Daten drinnen, die in die verschiedenen Navigationen eingetragen werden sollen).
Zuerst solltest du mit einem beliebigen Editor die Textdatei erstellen, also z.B.
n1|Starseite|home.html
n1|Foren|nav.php?n=2
n1|Gästebuch|http://gaestebuch.anbieter.de/username
n1|Spielecke|nav.php?n=3
## ... u.s.w
n2|Forum 1|http://forumanbietername1.de/benutzer
n2|Forum 2|http://forumanbietername2.de/benutzer
n2|Forum 3|http://forumanbietername3.de/benutzer
## ... u.s.w
n2|zurück|nav.php
n3|Spiel 1|spiel1.html
n3|Spiel 2|http://spieleanbieter.com/superspiel.html
n3|Spiel 3|spiel3.html
## ... u.s.w.
n3|zurück|nav.php
Alles anzeigen
Als nächstes fertigst du dir eine Blanko-Navigation an mit den üblichen Tags, wie z.B. auch einem Link-Tag für die Stylesheets. Sinnvoll ist da auchein Tag "<base target="haupt">, wobei "haupt" dann der Name deines Hauptfensters aus dem frameset sein sollte.
zwischen <body> und </body> muß dann irgendwo der Platzhalter auftauchen. Am Besten setzt du als Platzhalter einen logischen Begriff ein, den du durch Sonderzeichen optisch gut kennzeichnest, also z.B.
<body>
...
[NAV]
...
</body>
Hier ist "[NAV]" der Platzhalter, davor und danach kannst du beliebige ANgaben machen, wie Grafiken oder Texte, was du willst und was HTML-Konform ist.
Jetzt brauchst du noch das PHP-Script, damit aus der Sache auch was wird. Mit dem selben Script kannst du natürlich vieles andere auch noch machen, z.B. Statistiken füttern, pp.
Ich habe hier mal eine Kurzversion erstellt, damit sollte es aber schon laufen:
<?PHP
$Navpage = $HTTP_GET_VARS['n'];
if ($Navpage == "") $Navpage = 1;
$Navpage = "n".$Navpage;
$NDatei = "nav.txt";
$NDaten = file($NDatei);
$NAnzahl = sizeof($NDaten);
$NAV = "";
for ($i=0; $i<$NAnzahl; $i++)
{
list ($NPage, $NText, $NUrl) = split("\|", chop($NDaten[$i]));
if ($NPage != $Navpage) continue;
$NAV .= "[url='$NUrl']$NText[/url]
\n";
}
$templ = "nav.html";
$content = join('', file($templ));
$cont = str_replace("[ACTION]", $HTTP_SERVER_VARS['PHP_SELF'].$keep_url, $content);
$cont = str_replace("[NAV]", $NAV, $cont);
echo $cont;
?>
Alles anzeigen
Das sollte für eine einfache variable Navigation schon ausreichen.
Good Luck 
Ronald