PHP Include statt Frames

03/17/2011 20:37 Milchschokolade#1
Ihr kennt sicherlich das Problem. Ihr habt z.B. ein News-"Addon" in der Sidebar & wollt dieses aktualisieren.
Nur bei jeder Datei einzelnt? Das wär zu aufwändig. Daher greifen einige zu Frames. Das Problem dabei: Suchmaschienen mögen Webseiten mit Frames nicht so gerne^^

PHP schafft da Abhilfe mit der include Funtion. Der grundsätzliche Syntax:
PHP Code:
<? include ("datei.php"); ?>
Man kann so gut wie alles includen.

An der Stelle, wo wir das nun eisetzen, wird der Inhalt der datei.php in unsere Seite eingebunden.
Zu beachten ist, das der Parsemodus für die include Dateien automatisch auf html geschaltet ist, und somit müssen wir den vorhandenen PHP Code der include dateien wieder mit <? und ?> kennzeichnen.
Der html Code kann einfach in die Datei geschrieben werden.

Hier ein kleines verdeutlichungs Beispiel:
Die Ausgangsdatei:
HTML Code:
<html>
<head>
</head>
<body>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr><td colspan="2"><img src="headergrafik.jpg"></td></tr>
<tr><td>
<a href="index.php"><b>Startseite</b></a><br />
<a href="#"><b>link</b></a><br />
<a href="#"><b>link</b></a><br /></td>
<td><b>Hier steht der Ihnalt</b></td></tr>
</table>
</body>
</html>
Da der Grundaufbau unserer Dateien gleich ist, und sich nur der Inhalt ändert, machen wir jetzt daraus 3 Dateien und trennen somit das Aussehen von dem Inhalt. 2 Dateien bestimmen das Aussehen der Seite und sind bei jeder Unterseite gleich, die 3te Datei trägt nur den eigentlichen Inhalt, so wie das bei den Frameseite auch der Fall ist.

Datei nr1 head.php:
HTML Code:
<html>
<head>
</head>
<body>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr><td colspan="2"><img src="headergrafik.jpg"></td></tr>
<tr><td>
<a href="index.php"><b>Startseite</b></a><br />
<a href="#"><b>link</b></a><br />
<a href="#"><b>link</b></a><br /></td>
<td>
Datei nr2 footer.php:
HTML Code:
</td></tr>
</table>
</body>
</html>
Datei nr3 index.php:
PHP Code:
<? include ("head.php"); ?>
<b>Hier steht der Inhalt</b>
<? include ("footer.php"); ?>
Um eine neue Unterseite anzulegen, brauchst du nur noch eine Datei mit reinem Inhalt (nach dem Muster der index.php) zu erstellen und einen neuen Link in die head.php einzutragen.

Wie schon oben erwähnt, ist diese Metode auch sehr praktisch zum Einbinden von Newsblöcken und Ähnlichem was sich ständig ändert.
Dafür includen wir einfach eine weitere Datei die wir news.php nennen.

So werden die Ändereungen in einer einzigsten Datei auf das gesammte Projekt übernommen.

Viel Spaß mit dem Includen und vergesst Frames.

PS: THX wären nett. Das Schreiben hat dann doch ne gewisse Zeit gedauert^^
04/19/2011 20:08 greenst0rm#2
was ich persönlich besser finde:
Nur ein File includen am Anfang des PHP Scripts und mit Funktionen alles definieren, spart tipparbeit :)
05/10/2011 16:41 sava#3
Hi,

include hin oder her, meist benutzt wird require_once.

Schreib doch noch ein wenig über die Sicherheit beim include.

Mfg