jeko
Lounge-Member
Hier das kleine Prinzip des Einbinden von externen PHP-Dateien, wie es auch verwendet wird um den Inhalt einer Seite dynamisch einzubinden. Dies hat den Vorteil, dass wenn ihr z.B. immer den gleichen Header und Footer (Kopf- und Fussbereich) habt, ihr die beiden nicht auf jeder Seite nochmal einbinden müsst.
Zuerst macht ihr eure index.php, bzw. euer Hauptdokument. In diesem Dokument befindet sich der statische Header (das kann ein Banner oder sonstwas sein, was einfach immer auf eurer Seite zu sehen sein muss) und den Footer (gleiche Eigenschaften wie Header).
So. Nun wenden wir uns den Dateien zu, welche die Inhalte enthalten.
Wir müssen also jetzt für jeden Wert im $the_sites-Array eine .php-Datei erstellen.
Die Datei für Punkt1 wäre zum Beispiel so:
punkt1.php
Wichtig ist, dass die PHP-Markierungen (<?php und ?>) stehen und dass die Endung .php ist.
Im Quelltext, der an den Browser des Clients geschickt wird, wenn dieser auf "Punkt1" im Menu geklickt hat, wäre dann:
Ich hoffe es war verständlich und ihr habt was gelernt.
Hier noch einige Links zum Thema:
Zuerst macht ihr eure index.php, bzw. euer Hauptdokument. In diesem Dokument befindet sich der statische Header (das kann ein Banner oder sonstwas sein, was einfach immer auf eurer Seite zu sehen sein muss) und den Footer (gleiche Eigenschaften wie Header).
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<!-- Hier natürlich das übliche Zeug, Titel, einbinden von Script-/Css-/anderer Dateien. -->
<title>Dynamische Inhalte</title>
<link rel="stylesheet" type="text/css" href="euer_Css_file.css" />
</head>
<body>
<!-- Hier ist kommt euer satische obere Teil hin -->
<div id="banner"><img src="banner.jpg" alt="banner" /></div>
<div id="menu"><ul><li><a href="?dir=punkt1">Punkt1</a></li><li><a href="?dir=punkt2">Punkt2</a></li></ul></div>
<!-- Jetzt kommts. Hier soll also der spezifische Inhalt hin. -->
<?php
/* Das Einbinden funktioniert folgendermassen: Wie ihr sicher bemerkt habt, hab ich in die Href-Angaben der Menu-Links "?dir=" reingeschrieben. Dies übergibt der index.php eine Variable mit einem Wert. Der Wert ist der menu-Punkt der geklickt wurde. An diesen Wert kommen wir mit dem Global array $_REQUEST.
Also speichern wir uns den Wert mal ab. */
$direction = ( isset($_REQUEST['dir']) && !empty($_REQUEST['dir']) ) ? $_REQUEST['direction'] : FALSE;
// Diese Zeile weist $direction den Wert der übergebenen Variable zu. Falls diese nicht gesetzt wurde (d.h. Url ohne "?dir="), wird der Wert auf FALSE gesetzt.
//So, nun müssen wir ein array machen, das die Zeiger und ihre Dateien beinhält.
$the_sites = array(
'punkt1' => "punkt1.php",
'punkt2' => "punkt1.php",
'404' => "fehler404.php"
);
if ($direction == FALSE) {
$direction = '404';
}
// wenn kein "?dir=" in der URL, wissen wir nicht was einbinden. Die Datei "fehler404.php" ist sozusagen eine Fallbacklösung.
// So. Nun kommt der Hauptteil.
if( isset($the_sites[$dir]) ) {
//gibt es den Zeiger in unserem Array?
include_once('./'.$the_sites[$dir]);
/* Hier wird ein Pfad erstellt $the_sites[$dir] gibt die Datei zurück, die im Array mit dem jeweiligen Wert von $dir verbunden ist. Bei $dir = "punkt1" wird hier "punkt1.php" zurückgegeben. Danach stände bei diesem Beispiel: include_once("./punkt1.php");
include_once liest den Inhalt der angegebenen Datei aus und fügt ihn an der Stelle ein, wo include_once steht. Dieselbe Datei wird durch include_once nur einmal im gesamten Dokument eingefügt. */
} else {
// wenn es zu $dir nichts in unserem Array gibt.
header('HTTP/1.0 404 Not Found');
// 404-Header senden
include_once('./'.$valid_sites['fehler404']);
// und die Fallback-"Lösung" einbinden.
}
//Fertig.
?>
<!-- Hier kann jetzt noch der Footer folgen... -->
<div id="footer"><p>Copyright by WebmastXY</p></div>
</body>
</html>
Wir müssen also jetzt für jeden Wert im $the_sites-Array eine .php-Datei erstellen.
Die Datei für Punkt1 wäre zum Beispiel so:
punkt1.php
PHP:
<?php
echo '
<h1>jaja...</h1>
<p>Du hast Punkt1 geklickt. Das gibt einen Punkt!</p>';
?>
Wichtig ist, dass die PHP-Markierungen (<?php und ?>) stehen und dass die Endung .php ist.
Im Quelltext, der an den Browser des Clients geschickt wird, wenn dieser auf "Punkt1" im Menu geklickt hat, wäre dann:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<!-- Hier natürlich das übliche Zeug, Titel, einbinden von Script-/Css-/anderer Dateien. -->
<title>Dynamische Inhalte</title>
<link rel="stylesheet" type="text/css" href="euer_Css_file.css" />
</head>
<body>
<!-- Hier ist kommt euer satische obere Teil hin -->
<div id="banner"><img src="banner.jpg" alt="banner" /></div>
<div id="menu"><ul><li><a href="?dir=punkt1">Punkt1</a></li><li><a href="?dir=punkt2">Punkt2</a></li></ul></div>
<!-- Jetzt kommts. Hier soll also der spezifische Inhalt hin. -->
<h1>jaja...</h1>
<p>Du hast Punkt1 geklickt. Das gibt einen Punkt!</p>
<!-- Hier kann jetzt noch der Footer folgen... -->
<div id="footer"><p>Copyright by WebmastXY</p></div>
</body>
</html>
Ich hoffe es war verständlich und ihr habt was gelernt.
Hier noch einige Links zum Thema: