öffentlich
öffentlich
Redaktion Druckversion

PHP lernen (1): Einführung, Installation und erste Schritte

PHP und dynamische Webseiten

PHP ist eine serverseitig ausgeführte Skriptsprache zur Erstellung dynamischer Webseiten. Dynamische Webseiten werden im Gegensatz zu statischen Webseiten erst in dem Moment erzeugt, in dem sie aufgerufen werden. Es existiert also keine Datei, die genau den HTML-Quellcode enthält, der im Browser des Benutzers angezeigt wird. PHP existiert nur auf dem Webserver. Der gesamte PHP-Code wird im Webserver verarbeitet, aus dem Code wird eine HTML-Seite generiert, die dem Benutzer in seinem Browser angezeigt wird. PHP wird also serverseitig ausgeführt und der PHP-Quellcode ist für den Besucher Ihrer Webseite nicht mehr einsehbar.

Server- und clientseitige Skriptsprachen

Der Benutzer Ihrer Webseite wird auch Client genannt. Genau genommen ist der benutzte Browser der Client. Im Gegensatz zur serverseitigen Skriptsprache PHP ist zum Beispiel JavaScript eine clientseitige Skriptsprache. JavaScript-Code wird vom Webserver unverändert an den Benutzer geschickt und dort erst im Browser, also dem Client, ausgeführt. Mit JavaScript können Sie direkt mit dem Benutzer interagieren, ohne eine weitere Verbindung zum Webserver herstellen zu müssen.

Ein Beispiel, um den Unterschied zwischen server- und clientseitig und die notwendigen Verbindungen zum Webserver in der Anwendung deutlich zu machen, sind die Kontrollen von Formulareingaben. Sie kennen sicher Formulare, bei denen bestimmte Felder ausgefüllt werden müssen. Wenn der Benutzer das Formular abschickt, wird geprüft, ob die geforderten Felder ausgefüllt wurden. Wenn nicht, wird eine Fehlermeldung ausgegeben.

Eine solche Prüfung wird häufig mit JavaScript programmiert. Wenn der Button zum Absenden angeklickt wird, startet die Prüfroutine. Diese findet im Browser des Nutzers statt. Nur wenn diese ohne Fehlermeldung durchgeführt werden kann, wird das Formular tatsächlich an den Server geschickt. Sollte es zu einem Fehler kommen, wird das Formular gar nicht erst abgeschickt und eine Fehlermeldung ausgegeben. Es gibt also nur eine Verbindung zum Server, nämlich die, in der die mit JavaScript geprüften Daten an den Server gesandt werden.

Die gleiche Prüfung können Sie auch serverseitig in PHP programmieren. Dann wird das Formular in jedem Fall abgeschickt. Die ungeprüften Daten werden an den Server geschickt und dort prüft PHP, ob die Daten korrekt aufgefüllt wurden. Sollte ein Fehler aufgetreten sein, schickt PHP eine entsprechende Fehlermeldung an den Browser zurück. Hier wird das Formular erneut angezeigt, der Benutzer kann die Daten ändern und klickt erneut auf den Submit-Button. Wieder wird eine Verbindung zum Server hergestellt, die Daten werden ungeprüft an den Server gesandt und erst dort von einem PHP entgegen genommen und geprüft.

Während Sie in der JavaScript-Lösung also nur einmal die bereits clientseitig geprüften Daten an den Server sendet, schicken Sie das Formular bei der Lösung mit PHP auf jeden Fall an den Server. Für jeden fehlerhaften Versuch, die Daten abzuschicken, brauchen Sie eine Verbindung zum Server. Zweifellos ist die Lösung mit JavaScript die schnellere. Die PHP-Variante ist jedoch sicherer. Bedenken Sie, dass die Daten, falls JavaScript im Browser ausgeschaltet ist, völlig ungeprüft an den Server geschickt werden. Da Benutzereingaben vor dem Weiterverarbeiten unbedingt geprüft werden müssen, sind Sie mit PHP auf der sicheren Seite. Mit PHP prüfen Sie die Formulareingaben auf jeden Fall, bei JavaScript können Sie nicht sicher sein. (Auf Sicherheitsaspekte bei Benutzereingaben wird in "PHP lernen (3): Abschnitt 'Umgang mit Formularen'" noch ausführlich eingegangen.)

Dieses Beispiel ist sicher nicht die typische Anwendung für PHP, macht aber den Unterschied zwischen server- und clientseitiger Programmierung deutlich. Zur technischen Funktionsweise von Browser, Webserver und PHP kommen wir im nächsten Abschnitt noch einmal ausführlicher.

Dynamische Webseiten

Im Zusammenhang mit PHP haben wir dynamischen Webseiten gesprochen. Was ist das eigentlich genau? Dynamisch sind sie insofern, als dass sie erst in dem Moment erzeugt werden, in dem sie aufgerufen werden. Der Vorteil einer dynamischen Webseite ist ihre Flexibilität. Ihr Inhalt wird erst in dem Moment zusammengestellt, in dem die Seite aufgerufen wird. Inhalte, die im Internet mit ihrer Aktualität stehen und fallen, können aus Datenbanken oder Textdateien ausgelesen werden und abhängig von der Benutzereingabe, vom Datum oder von der Tageszeit generiert werden. Wenn Sie den Inhalt der Webseite von ihrem Format trennen, können Sie für die Aktualisierung von Inhalten ein Redaktionssystem zur Verfügung stellen, das es dem Betreiber der Webseite erlaubt, Änderungen ohne HTML-Kenntnisse vorzunehmen.

Darüber hinaus können Sie alle Inhalte, die sich wiederholen, auslagern und dort einbinden, wo sie benötigt werden. Denken Sie dagegen an eine statische Webseite. Hier wird jede HTML-Datei, die per Mausklick aufgerufen werden kann, einzeln produziert. Inhalte wie Navigation oder Fußzeile sind in einer Webseite auf allen Seiten gleich und werden vielfach in jede einzelne Seite geschrieben. Jeder Klick ruft eine ganz bestimmte HTML-Seite auf. Das formale Raster, das meist auf allen Seiten gleich ist, wird in jede einzelne HTML-Seite geschrieben. Ändert sich nun etwas am Raster, an der Navigation oder an einem Inhalt, der auf jeder der Seiten angezeigt wird, ist der Arbeitsaufwand entsprechend hoch: Jede HTML-Seite muss einzeln modifiziert werden.

Bei einer dynamischen Webseite können Sie die sich wiederholenden Teile in Extradateien auslagern. Diese Extradatei enthält dann nur ein einziges Mal die Fußzeile oder die Navigation. Mit PHP werden diese Dateien in die einzelnen Seiten eingebunden. Ändert sich nun etwas in der Fußzeile oder in der Navigation, braucht nur noch die Extradatei modifiziert werden und die Änderung wirkt sich sofort auf jeden Aufruf jeder einzelnen Webseite aus.

Idealerweise lagern Sie alle Teile der Webseite, die mehr als einmal angezeigt werden, aus. So ist das grafische Grundraster einer Webseite in der Regel auf allen Seiten gleich. Sie können je nach angeklicktem Link in die gleiche Seite unterschiedliche Inhalte laden. Ändert sich etwas am Grundraster, brauchen Sie nur eine einzige Datei anzupassen. Das spart viel Zeit.

Die Einsatzmöglichkeiten von PHP gehen natürlich noch viel weiter. Inhalte und Form können komplett voneinander getrennt werden, so dass es auch einem Redakteur ohne HTML-Kenntnisse möglich ist, Inhalte zu aktualisieren. Das kann in der kleinen Variante mit einer ausgelagerten Datei realisiert werden, in der zum Beispiel ein Tagestipp als schlichter Text abgelegt ist. Sie können mit PHP aber auch ein beliebig komplexes Redaktionstool programmieren, mit dem der Redakteur bequem über Formulare mit seinem Webbrowser seine gesamte Webseite steuern kann. In einem solchen Tool können sowohl Texte als auch Bilder, Filme, Downloaddateien etc. verwaltet werden.

Einsatzgebiete für PHP

PHP wurde für das World Wide Web entwickelt, der mitgelieferte Funktionsumfang konzentriert sich auf die Bedürfnisse des Webentwicklers. So 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 E-Mail versandt, ausgegeben oder in eine Datenbank oder Textdatei geschrieben werden. Mit diesen Grundlagen können Sie zum Beispiel ein Gästebuch, einen Warenkorb oder auch ein Redaktionssystem steuern.

PHP bietet Funktionen für den Zugriff auf Verzeichnis- und Dateisysteme des Webservers, für die Verarbeitung von Zeichenketten und Arrays (verschiedene Formen von Variablen) und für den Umgang mit regulären Ausdrücken, mit denen Sie Zeichenketten manipulieren und durchsuchen können.

Seit PHP 4 gibt es umfangreiche Funktionen zum Sessionsmanagement, das Client-Server-Verbindungen steuert. Die Kommunikation zwischen Client und Server läuft an sich verbindungslos ab: nachdem eine Anfrage an den Webserver bedient wurde, wird die Verbindung zwischen Client und Server beendet (zur Funktionsweise von PHP später mehr). Klickt der Anwender einen neuen Link der gleichen Webseite an, erkennt der Webserver ihn per se nicht wieder. Dennoch den Weg eines Anwenders auf einer Webseite, also eine komplette Sitzung (= session), zu verfolgen, ist insbesondere für Shopsysteme wichtig. Die Möglichkeit der Sessionsverwaltung wurde mit PHP 4 erweitert.

Die wesentliche Voraussetzung für die Gestaltung dynamischer Webseiten ist die Datenbankanbindung. In einer Datenbank können Sie umfangreiche Informationen ablegen, die bei Bedarf selektiv ausgelesen werden können. Insbesondere für Shopsysteme, die als Datenmenge Informationen zu jedem einzelnen Artikel und Kunden benötigen, bietet eine Datenbank ideale Zugriffsmöglichkeiten. Wählt der Anwender (der Kunde des Shops) eine der Artikelgruppen aus, werden aus der Datenbank die relevanten Datensätze ausgelesen und im HTML-Format ausgegeben. Die Fähigkeiten von PHP in dieser Hinsicht werden durch die Anzahl der zur Verfügung stehenden Datenbankfunktionen deutlich.

PHP unterstützt zahlreiche SQL-Datenbanken, z. B. MySQL, Oracle und über die ODBC-Schnittstelle beliebige ODBC-Datenbanken wie z. B. auch Microsoft Access. Insbesondere die Kombination mit der Datenbank MySQL, die ebenfalls als Open-Source-Produkt zur Verfügung steht, auf Unix-und Windowssystemem läuft, eine schnelle Datenverarbeitung erlaubt und wenig Speicherplatz belegt, macht den Erfolg von PHP aus. Der PHP-Code wird direkt in HTML implementiert. Die an C angelehnte Syntax ist vielen bereits durch JavaScript oder Java geläufig. Dadurch ist PHP relativ einfach zu lernen und zu lesen.

Dynamische Webseiten kann man übrigens auch mit anderen Mitteln, sogar mit JavaScript und bedingt sogar clientseitig, generieren. Aber das nur am Rande ...

Mitglied werden, Vorteile nutzen!

  • Sie können alles lesen und herunterladen: Beiträge, PDF-Dateien und Zusatzdateien (Checklisten, Vorlagen, Musterbriefe, Excel-Rechner u.v.a.m.)
  • Unsere Autoren beantworten Ihre Fragen

Downloads zu diesem Beitrag

Newsletter abonnieren