Wenn ich das richtig sehe, hast du ein (tabellen) Layout gemacht und willst jetzt Seiteninhalten dynamisch einfügen?
Im Prinzip die einfachste Form eines CMS, du hast ein HTML Layout in einer PHP Datei, diese ruft je nach dem welche Seite (per GET Methode) gefragt ist mit
include() auf.
Ich würde das so lösen:
Eine index.php , in welcher das HTML Layout und das Aufrufverfahren liegt.
Ein Ordner Namens templates , in welchen die aufzurufenden Dateien liegen.
In der index.php dann als erstes einige Sicherheitsabfragen, damit man sich nicht außerhalb des templates Ordner bewegen kann und keine nicht existenten Dateien versucht aufzurufen:
|
PHP-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<?php
$page = "";
if($_GET["page"] == "") // Wenn keine Seite gefragt ist, wird die standard Seite (main) geladen
{
header("location: ?page=main");
}
elseif(strpos($_GET["page"], ".") !== false) // Wenn der Seitenaufruf einen . enthält, die standard Seite aufrufen (. kann einen Ordnerwechsel bewirken)
{
header("location: ?page=main");
}
elseif(file_exists("./templates/". $_GET["page"] .".tpl.php")) // Wenn die gefragte Seite exestiert, aufrufen :)
{
$page = $_GET["page"];
}
else // Wenn nicht, die standard Seite aufrufen
{
header("location: ?page=main");
}
?>
|
Besser wäre es noch, wenn du für ein Fehlaufruf eigene Seiten machst, sonst wundert der Benutzter sich noch, warum er auf einmal ganz wo anders ist, wo ein sein wollte

. Dies ist unnötig wenn du dir 100% sicher bist, dass alle Seiten exestieren.
Als nächstes suchst du dir dann den Ort, wo die verschiedenen Inhalte stehen sollen und fügst dort folgenes ein:
|
PHP-Quelltext
|
1
2
3
|
<?php
include("./templates/". $_GET["page"] .".tpl.php");
?>
|
Bewirkt einfach, dass die Seite geladen wird.
Damit dieses Aufrufverfahren funktioniert, müssen natürlich auch die Links entsprechend aussehen. Dazu solltest du jeder Seite einen Namen geben (die standard Seite hat bei meinem Beispiel den Namen "main"). Beispielweise würde ein Link dann so aussehen:
|
Quellcode
|
1
|
<a href="?page=main">Startseite</a>
|
Ein Klick auf diesen Link würde im Browser dann "http://blub/index.php?page=main" sein und das System würde "main" aufrufen.
Anderes Beispiel (mehr Beispiele hilft gegen Missverständnisse

):
|
Quellcode
|
1
|
<a href="?page=impressum">Impressum</a>
|
Als letztes musst du dann nurnoch die Inhalte erstellen, und zwar im Ordner templates nach folgenen Prinzip: seiten_name.tpl.php
"tpl" steht eigentlich für Template, ich habe es hier gewählt, damit der unterschied zu einer normalen Seite klar ist. Die Endung php habe ich genommen, weil man den Inhalt der Seite bei direkten Zugriff der Seite verstecken kann. Dies bedarf dann nur folgenen Code am Anfang jeder von den Inhalts-Dateien:
|
PHP-Quelltext
|
1
|
<?php if($page == "") { die(); }?>
|
Heißt, der Aufruf wird abgebrochen, wenn die in index.php deklaierte Variabel $page leer ist.
Nach dieser Zeile kannst du dann den eigentlichen Inhalt einfügen, welcher dann an der Stelle in index.php eingefügt wird. Folglich kannst du dann den Kopf und das Ende des Layout weglassen.
Wenn du unsicher bist, wie du das genau machen musst, schreib einfach
irgendwas rein und gucke nach, wie's aussieht (das hilft oft)

.
Beispiel Seite (standard Seite) wäre: /templates/main.tpl.php
Edit: Oh je, bin ich langsam >_> .