Kurze Einführung in PHP

PHP und dynamische Webseiten

∅ 3 / 2 Bewertungen

PHP und dynamische Webseiten

Dieser Beitrag ist eine Art "Schnupperkurs" in Sachen PHP: Sie lernen Grundsätzliches über dynamische Webseiten und PHP. Außerdem lernen Sie drei typische Anwendungsbeispiele für PHP kennen, die Sie leicht an Ihre Bedürfnisse anpassen und auf Ihre Seiten übernehmen können: Footer, aktuelle Tagestipps und personalisierte Begrüßung. Unser Ziel mit dieser Kostprobe ist es eingestandenermaßen, Ihnen Appetit auf mehr zu machen.

PHP

Dynamisch generierte Webseiten gehören mittlerweile zum Standard im Internet. Inhalte werden ständig aktualisiert und mittels Redaktionstools oder Textdateien bzw. Datenbank verändert. Inhalte und Format sind dabei getrennt.

PHP (steht rekursiv für PHP: Hypertext Preprocessor) ist neben ASP (Active Server Pages) die wichtigste Skriptsprache zur Erstellung dynamischer Webseiten. Im Gegensatz zu ASP (nur Microsoft-Plattformen) ist PHP jedoch plattformunabhägig, kann also auf jedem relevanten Betriebssystem ausgeführt werden. PHP ist Open Source, d.h. frei verfügbar. Zahlreiche deutschsprachige Entwicklerseiten erleichtern das Lernen.

Was sind dynamische Webseiten?

Bei statischen Webseiten wird jede Datei, die per Mausklick aufgerufen werden kann, einzeln hergestellt. Inhalte, die auf allen Seiten gleich sind, werden vielfach in jede einzelne Seite geschrieben. Jeder Klick ruft eine ganz bestimmte HTML-Seite auf.

Mit dynamischen Webseiten wird der Inhalt einer Webseite erst in dem Moment zusammengestellt, in dem die Seite aufgerufen wird. Doppelte Inhalte brauchen nur einmal geschrieben zu werden. Die Inhalte können von der Benutzereingabe, vom Datum oder von der Tageszeit abhängig gemacht werden.

Jeder Inhalt, der mehr als einmal angezeigt werden soll, kann mittels PHP ausgelagert werden, so dass Änderungen nur noch an einer Stelle eingearbeitet werden müssen. Wenn Sie auf Ihrer Seite zum Beispiel einen Footer (eine Fußzeile) haben, der auf jeder Webseite gleich bleibt, schreiben Sie diesen nur ein einziges Mal in eine separate Datei. Diese binden Sie dann in Ihre Seiten mit PHP ein. Ändert sich nun etwas in dem Footer, brauchen diese Änderungen nur an einer einzigen Stelle, nämlich der ausgelagerten Datei, vorgenommen zu werden. Diese Änderung wirkt sich sogleich auf jede Seite aus, die diese Datei aufruft.

Oder Sie haben einen aktuellen Tagestipp auf Ihrer Seite, wollen aber nicht jeden Tag die HTML-Seite wieder anfassen. Dann legen Sie den Inhalt des Tagestipps in einer seperaten Textdatei ab, die dann mittels PHP ausgelesen wird. Nur diese Textdatei muss noch aktualisiert werden. Ihr PHP-Skript bindet den Inhalt automatisch an der definierten Stelle im entsprechenden Format ein.

Ein mächtiges Werkzeug wird PHP in Zusammenarbeit mit einer Datenbank, zum Beispiel MySQL. Hier können alle Inhalte bequem abgelegt und, je nach Benutzereingabe, aufgerufen werden. Das ist für einen Online-Shop interessant. Wenn Sie verschiedene Artikelgruppen haben, bieten entsprechende Links die Auswahl der Artikelgruppen an. Wählt der Anwender (der Kunde des Shops) eine der Artikelgruppen aus, werden aus der Datenbank die relevanten Datensätze ausgelesen und in HTML-Format ausgegeben.

Gleichzeitig ermöglicht PHP die Auswertung von Formulardaten. Die Daten, die in Formularfelder eingetragen werden, werden automatisch in PHP-Variablen umgewandelt, die Sie dann in Ihrem Programm weiterverarbeiten können. Diese Daten können anschließend per Email versandt, ausgegeben oder in eine Datenbank oder Textdatei geschrieben werden. So können Sie zum Beispiel ein Gästebuch oder einen Warenkorb steuern.

Wie funktioniert PHP?

Um sinnvoll mit PHP arbeiten zu können, müssen Sie sich eine Entwicklungsumgebung, am besten auf Ihrem eigenen Rechner, einrichten. Dafür müssen Sie die Funktionsweise des World Wide Web und von PHP verstehen. Das Grundprinzip erläutert folgende Grafik:

61256_client_server.gif

Client und Server

Der Surfer mit seinem Browser wird als Client bezeichnet. Er tippt in die Adresszeile seines Browsers eine URL (Uniform Resource Locator, die eindeutige Adresse einer Webseite) und schickt diese ab. Diese Anfrage, auch Request genannt, wird durch das WWW auf den Rechner geleitet, der die ensprechende Domain (hier: www.domain.de) verwaltet. Dieser Rechner enthält einen Webserver, oft den Apache, der die angeforderte Datei in seinem Verzeichnis sucht und zurück an den Client schickt. Damit ist der Vorgang beendet. Bei einer erneuten Anfrage startet der Prozess von vorn.

PHP ist eine serverseitig ausgeführte Skriptsprache. Serverseitig heißt, dass der PHP-Code direkt auf dem Webserver vom sogenannten Parser interpretiert wird. Dieser PHP-Parser muss auf dem Webserver installiert und konfiguriert sein. Durch die Interpretation des PHP-Codes entsteht eine HTML-Seite, die an den Client zurückgeschickt wird. Der PHP-Code ist in der interpretierten Seite nicht mehr vorhanden, liegt also nur auf dem Webserver, ohne je über das Internet verschickt zu werden. Die folgende Grafik stellt die Struktur dieses Prozesses dar.

61257_client_server_php.gif

Client und Server unter PHP

Der Client schickt einen Request in das WWW, dieser wird an den Webserver auf dem entsprechenden Rechner geleitet. Der Webserver erkennt an der Dateiendung, dass es sich um eine PHP-Datei handelt und schickt diese vor Auslieferung an den Parser. Dieser interpretiert das PHP-Skript und generiert daraus HTML-Code, der an den Client zurückgeschickt wird. Die interpretierte PHP-Datei (hier Test.php) enthält also keinen PHP-Code mehr.

Soviel zur Theorie. Die Funktionsweise wird im Folgenden an einem Beispiel verdeutlicht.

Der Programmcode von PHP kann direkt in den HTML-Code eingebunden werden. Der Code wird durch die Tags <? ... ?> oder <?php ... ?> kenntlich gemacht.

Beispiel:

<html>
<head><title>Beispiel</title></head> 
<body>
<?php 
$test = "Hallo Welt!";
print $test; 
?>
</body>
</html>

Die erste Zeile PHP-Code weist der Variablen $test den Wert "Hallo Welt!" zu, die zweite Zeile gibt diese Variable mit dem PHP-Befehl print aus.

Eine Datei, die PHP-Code enthält, wird mit der Dateiendung .php (oder .php4 bzw. .php5, je nach Einstellung des Webservers) abgespeichert.

Fordert nun ein Client eine PHP-Seite an, wird die Datei mit dem oben gezeigten Quellcode an den Parser geschickt. Nach der Interpretation durch den Parser wird die Datei mit folgendem Quellcode an den Client zurückgeschickt:

<html>
<head><title>Beispiel</title></head> 
<body>
Hallo Welt! 
</body>
</html>

Die HTML-Seite, die durch das PHP-Skript generiert wird, kann natürlich alle Elemente enthalten, die der Browser versteht, also auch Javascript usw.

Um PHP-Skripte zu entwickeln, brauchen Sie eine Testumgebung. Das kann ein Bereich sein, den Ihnen in der Firma der Systemadministrator einrichtet, oder Sie installieren und konfigurieren sich Ihr eigenes System auf Ihrem Rechner. Das ist kein grosses Problem. Sie richten sich auf Ihrem Rechner lokal einen Webserver ein, der den PHP-Parser enthält. Lokal bedeutet, dass die Struktur, die oben erläutert wurde, auf einem einzigen Rechner umgesetzt wird. Ohne Webserver kann PHP nicht ausgeführt werden. Das reine Öffnen der Datei im Browser, wie zum Testen von HTML-Dateien üblich, funktioniert nicht, da der Parser im Webserver angesprochen werden muss, um die Skripte zu übersetzen.

Wenn Sie Windows-Benutzer sind, besorgen Sie sich die aktuelle Version des Apache für Windows (www.apache.org) und von PHP (www.php.net) und konfigurieren das System nach Anleitung der readme.txt bzw. install.txt. Unter Linux ist der Apache vorinstalliert, Sie müssen nur noch PHP unter YAST aktivieren. Dasselbe gilt auch für Mac OS X: Auch dort lässt sich mit den Bordmitteln Apache und PHP problemlos ein Entwicklungssystem aufzusetzen. (Ob das Sinn macht, wenn Mac-Systeme nicht als Produktionsserver verwendet werden, ist eine andere Frage.)