Seiten dynamisch mit PHP erstellen

Vielleicht kennen Sie dieses Problem: Sie möchten gerne in Ihre Website eine Navigation oder Fußzeile einbauen, wollen aber auch nicht bei jeder Änderung an der Navigation oder Fußzeile alle Seiten anpassen. Nur mit HTML gibt es hier keine Lösung und nicht jeder Benutzer hat JavaScript im Browser aktiviert. Stattdessen sollten Sie auf eine serverseitige Programmiersprache, wie zum Beispiel PHP zurückgreifen.

[Bildschirmfoto] 
Seiten dynamisch mit PHP erstellen

Fast jeder Webspace-Provider bietet diese Möglichkeit, erkundigen Sie sich daher zuvor bei Ihrem Provider, ob PHP auf dem entsprechenden Webserver installiert ist. Sollte dies der Fall sein, können Sie einfach die PHP include-Funktion nutzen, die es ermöglicht, den HTML-Code einer Seite aus mehreren Dateien zusammenzusetzen.

Um eine Datei einzubinden, nutzen Sie folgenden PHP-Code:

<?php include "datei.php"; ?> 

Sie können so den Inhalt einer Seite in mehrere Dateien aufteilen, diese werden dann beim aufrufen der Seite auf dem Webserver zusammengefügt und an den Browser des Besuchers gesendet.
Sie legen so beispielsweise die auf jeder Seite anderen Inhalte in eine Datei ab. Alles, was im HTML-Code über dem eigentlichen Inhalt der Seite steht (Logo, Navigation) sowie alles, was darunter steht (Copyright, Impressum) in eine andere Datei. Wenn Sie diese Dateien ändern, werden die Änderungen für alle Seiten aktiv, in denen diese eingebunden sind.

Ein einfaches Beispiel

• Datei: navigation.php
In dieser Datei befinden sich die Verweise (Links) zu den einzelnen Dateien der Website.

Navigation
<a href="seite1.php">Seite 1</a> - 
<a href="seite2.php">Seite 2</a> - 
<a href="seite3.php">Seite 3</a>

• Datei: fusszeile.php
Hier befindet sich der Urheberrecht-Hinweis (Copyright) sowie ein Verweis zum Kontaktformular und Impressum.

Fußzeile
&copy; 2018 
- meine-homepage.xy
- <a href="kontakt.php">Kontakt</a>
- <a href="impressum.php">Impressum</a>

• Datei: beispielseite.php
In dieser Beispielseite werden mit der include-Funktion die beiden Dateien eingebunden.

<!DOCTYPE html>
<html>
 <head>
  <title> Überschrift </title>
 </head>
<body>

<?php include "navigation.php"; ?>

 Inhalt der Seite ...

<?php include "fusszeile.php"; ?>

</body>
</html>

Das Ergebnis, der Datei: beispielseite.php wie es beim Browser des Besuchers ankommt.

<!DOCTYPE html>
<html>
 <head>
  <title> Überschrift </title>
 </head>
<body>

Navigation
<a href="seite1.php">Seite 1</a> - 
<a href="seite2.php">Seite 2</a> - 
<a href="seite3.php">Seite 3</a>

 Inhalt der Seite ...

Fußzeile
&copy; 2018 
- meine-homepage.xy
- <a href="kontakt.php">Kontakt</a>
- <a href="impressum.php">Impressum</a>
</body> 
</html>

Das ist doch echt einfach!
Sie können mit der include-Funktion zum Beispiel noch die Meta-Tags oder das Logo der Website einbinden. Durch diese Maßnahme lässt sich Ihre Website besser strukturieren und wird dadurch wesentlich wartungsfreundlicher.

Integration mehrerer Dateien

Meine Website habe ich folgendermaßen aufgebaut; diese besteht aus drei externen PHP-Dateien: kopf.php, nav.php und fuss.php. Damit wird die Pflege der einzelnen Seiten auf ein Minimum reduziert.

• Datei: kopf.php
Diese Datei enthält die Meta-Tags, die Links zur externen CSS und JavaScript-Datei sowie zum Favicon und dem RSS-Feed.

  <meta name="Robots" content="all, index, follow">
  <link rel="stylesheet" href="style.css">
  <script src="javascript.js"></script>
  <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
  <link rel="alternate" type="application/rss+xml"
 href="http://www.meine-homepage.xy/rss.xml">

• Datei: nav.php
Diese Datei enthält das Logo und den Namen der Website sowie die Navigation.
Bitte nicht wundern, denn ich verwende hier schon die neuen HTML 5-Elemente (<header>, <nav>, <article> und <footer>) für die semantische Gliederung und Formatierung der Seite.

<header>
 <img src="logo.png" width="200" height="50" alt="Logo"> meine-homepage.xy
</header>

<nav>
 <a href="seite1.php">Seite 1</a> - 
 <a href="seite2.php">Seite 2</a> - 
 <a href="seite3.php">Seite 3</a>
</nav>

• Datei: fuss.php
Diese Datei enthält den Urheberrecht-Hinweis (Copyright) sowie die aktuelle Jahreszahl und jeweils einen Link zum Impressum und zum Kontaktformular.

<footer>
 &copy; <?php echo date("Y"); ?> 
 meine-homepage.xy - 
 <a href="kontakt.php">Kontakt</a> - 
 <a href="impressum.php">Impressum</a>
</footer>

• Datei: vorlage.php
Diese Datei (eine Kopie davon) nehme ich immer als Vorlage wenn ich eine neue Seite erstelle. In den Blau markierten Teil füge ich dann den Inhalt der neuen Seite ein.

<!DOCTYPE html>
<html lang="de">
 <head>
  <meta charset="UTF-8">
  <title> Überschrift - meine-homepage.xy </title>
  <meta name="description" content="Inhalt der Seite (Beschreibung)">
<?php include "kopf.php"; ?>
 </head>
<body>

<?php include "nav.php"; ?>

<article>

  <h1> Überschrift </h1>

  <p>Inhalt der Seite ...</p>

</article>

<?php include "fuss.php"; ?>

</body>
</html>

Die weitere Seitengestaltung mache ich mit einer » externen CSS-Datei, die zwischen den HTML-Elementen (<body>, <header>, <nav>, <article> und <footer>) enthaltenen Daten lassen sich somit sehr einfach formatieren.

Tipp

Der Bereich zwischen den Tags <head> und </head> sollte nicht ganz in einer externen Seite stehen, sondern wie in der Datei: vorlage.php, direkt in die Seite eingefügt werden.
Grund: Somit kann man zum Beispiel im <title>-Tag den passenden Seitentitel eintragen und JavaScripte, CSS-Anweisungen oder Meta-Tags etc. speziell für eine einzelne Seite anpassen.

Tipps

Zeichenkodierung - Schriftzeichen richtig darstellen
Oft werden Umlaute, Akzentzeichen oder andere fehlerhafte Zeichen auf der Webseite angezeigt. Auch der Inhalt einer E-Mail, vom Kontaktformular der Website, kann falsche Umlautzeichen enthalten. Beispiele um diese Zeichen in der richtigen Zeichenkodierung darzustellen.
Floodsperre
Um das Flooden (= Zumüllen mit großen Mengen meist sinnlosen Inhalts) von Foren und Gästebüchern etc. zu erschweren oder um zu verhindern das nach dem absenden des Formulars und drücken der F5-Taste (Seite neu laden) die Daten nochmals eingetragen werden, kann die hier vorgestellte Floodsperre einen Schutz bieten.
.htaccess - Passwortschutz für Webseiten
Mit einer .htaccess Datei und einer .htpasswd Passwort-Datei lassen sich bestimmte Verzeichnisse und die darin enthaltenen Dateien vor unerlaubtem Zugriff schützen.
Diese Schlagwörter könnten Sie interessieren:
Sortierung Sicherheit Rahmen Diashow Quelltext Zeichenkodierung Event-Kalender Zeitfunktionen Dynamische Seiten Gästebuch Zeichnen Suchmaschine Webseitenschutz SQLite localStorage Key Codes Veranstaltungsliste PHP-Fehlermeldungen Fotoalbum PHPMailer