Einführung in PHP

PHP bringt Dynamik und Interaktion auf Ihre Website. Dynamik bedeutet: Abhängig vom Benutzer, der Tageszeit oder vorhandenen Daten kann sich Ihr Internet-Auftritt unterschiedlich verhalten. So ist es möglich, eine ständig aktualisierte Liste mit Temperaturdaten vorzuhalten oder wöchentlich neue Nachrichten zu veröffentlichen, ohne auch nur einmal den HTML-Code Ihrer Website anzufassen. Interaktion bedeutet: Ihre Besucher dürfen Ihre Seite nicht nur angucken. Vielmehr können sie Beiträge benoten und kommentieren oder sich in einem Forum mit anderen austauschen.

PHP in HTML integrieren

PHP-Skripte werden in HTML-Seiten eingebettet. Die dürften dann aber nicht mehr die übliche Endung .htm oder .html tragen, sondern brauchen in der Regel .php als Anhängsel. Beim Aufruf der Seite durch einen Besucher übergibt der Webserver eine so benannte Datei an die PHP-Engine. Die sieht sich die Datei an und reicht alles an den Browser des Besuchers durch, bis sie auf das spezielle Tag <?php stößt. Dies wird als Programm betrachtet und die enthaltenen Befehle werden ausgewertet, bis die Zeichenfolge ?> wieder zu normalem HTML wechselt.

<?php

// Erstes PHP-Programm

$strHallo = “Hallo Welt”;

$strCiao = “Wiedersehen!”;

?>

<html>

<head>

<title><?php echo $strHallo; ?></title>

</head>

<body>

<p>

<?php

echo $strHallo . ‘<br/>’;

echo $strCiao;

?>

</p>

</body>

</html>

Das Listing zeigt die Meldungen “Hallo Welt” und “Wiedersehen” auf dem Bildschirm an.

Andere Arten der Integration von PHP-Code

Beliebiges Hin- und Herwechseln zwischen PHP und HTML innerhalb einer PHP-Datei ist kein Problem. Damit können Sie etwa ganz zu Beginn alle notwendigen Werte berechnen und sie dann immer an den benötigten Stellen in den HTML-Text einfügen lassen. Dazu gibt es in PHP den Befehl echo, der einen Wert ausgibt.

<p>Das heutige Datum lautet <?php echo $datum?></p>

Der Besucher bekommt in seinem Browser vom Skript selbst nichts zu sehen, sondern nur dessen Ausgabe. Betrachtet er den Quelltext, den obiger Skriptausschnitt produziert, steht da zum Beispiel:

<p>Das heutige Datum lautet 24.12.2006</p>

Es gibt auch eine besondere Art der Fallunterscheidung per if, bei der ein beliebig großer HTML-Abschnitt – abhängig von einer Bedingung – angezeigt werden kann. Ohne diese Möglichkeit müsste man solche, fallweise benötigten Ausgaben umständlich in echo-Befehle verpacken:

<?php if ($hilfe==’ja’):?>

<p>Die folgende Eingabemaske dient dazu,

blabla …

…</p>

<?php endif;?>

Dynamik über Parameter

Ohne Parameter wäre die Dynamik eines PHP-Skripts arg beschränkt. Prinzipiell gibt es zwei gängige Varianten, wie eine Webseite an eine andere Werte übergeben kann. Bei der GET-Methode werden die Parameter einfach in einer bestimmten Syntax an die Zieladresse angehängt. Soll ein Link beispielsweise einen Kalender mit dem Dezember 2006 darstellen, könnte die dazugehörige URL lauten:

kalender.php?monat=12&jahr=2006

Im Kalenderprogramm müssen die übergebenen Daten abgefragt werden. Dazu hält PHP alle per GET übergebenen Variablen im vorgegebenen Array $_GET vorrätig. Die Daten zur Darstellung des Kalenders würden die beiden notwendigen Parameter beispielsweise so zu normalen Variablen machen:

$monat = $_GET[‘monat’];

$jahr = $_GET[‘jahr’];

Wie bereits erwähnt, ist GET nicht die einzige Methode zur Datenübergabe. Bei Formularen zum Beispiel ist POST der übliche Weg. Dabei werden die Feldinhalte mit in die Anfrage beim Server verpackt, statt sichtbarer Teil der URL zu sein. Die Logik zum Ablesen ist identisch mit GET, die zuständige Systemvariable heißt hier nur anders. Wie zu erwarten, lautet ihr Name $_POST.

Überprüfung von Parametern

Fehlt ein vom Skript benötigter Parameter, sollte das Programm das feststellen. Der folgende Ausschnitt macht das, indem er über die PHP-Funktion die() den Fehler ausgibt und die Ausführung des Skripts abbricht. Dabei prüft die Funktion isset(), ob eine Variable gesetzt ist. Das trifft nur zu, wenn in der URL ein id=… vorkommt.

if (isset($_GET[‘id’]))

$id = $_GET[‘id’];

else

die(“Der Parameter id fehlt”);

Allerdings könnte jemand den Parameter aufführen, aber leer lassen. Darum sollte man prüfen, ob er wirklich belegt ist. Dazu wird die Funktion strlen() eingesetzt, die die Länge eines Strings zurückliefert:

if (isset($_GET[‘id’]) && strlen($_GET[‘id’])>0)

$id = $_GET[‘id’];

else

die(“Der Parameter id fehlt oder ist leer”);

Variable in Zeichenketten einbauen

Üblicherweise hängt man über den Punkt-Operator Zeichenketten aneinander. Sollen in einen String aber Inhalte aus Variablen eingebaut werden, ist diese Methode umständlich und für den Programmierer schwierig zu lesen. Gerade beim Anlegen einer SQL-Anweisung, die selbst Anführungszeichen enthalten kann, erkennt man nur mit Mühe, wie das Ergebnis aussehen wird:

$name=’Peter Müller’;

$sql = “insert into adressen (name) values (‘” . $name .

“‘)”;

Da hilft es sehr, dass in Zeichenketten, die in doppelten Anführungszeichen stehen, Variablennamen von PHP automatisch mit ihrem aktuellen Wert belegt werden. So kann man die zweite Zeile im vorangegangenen Beispiel deutlich lesbarer gestalten:

$sql = “insert into adressen (name) values (‘$name’)”;

Dabei verarbeitet PHP auch komplizierte Variablennamen, etwa Arrays, deren Index alphanumerisch ist. Dann muss die Variable allerdings noch in geschweifte Klammern gepackt werden, damit PHP sich besser zurechtfindet:

echo “Temperatur im Wohnzimmer: {$temp[‘wozi’]} °C”;

Ordnung schaffen mit Includes

Wenn ein Online-Projekt aus vielen einzelnen Seiten besteht, ist es sinnvoll, gleich von Anfang an den Programmcode, der sich auf jeder Seite wiederholt, auszulagern und in jedem Skript einfach nur anzusprechen. Darin kann man beispielsweise alle Funktionen zusammenfassen, die jedes Skript benötigt, oder eine Navigationsleiste, die auf jeder Seite in gleicher Weise erscheinen soll.

Angenommen, Sie haben in eine Datei connect.inc.php all den Code ausgelagert, der die Verbindung zu der Datenbank herstellt, in der Sie dauerhafte Informationen abspeichern. Dann wird in einem PHP-Skript diese Datei so eingelesen:

include(‘connect.inc.php’);

Neben der ersparten Schreibarbeit haben Sie damit noch den Vorteil, dass bei Änderungen, wie etwa bei einem neuen Passwort, nur an einer einzelnen Stelle eingegriffen werden muss. Die doppelte Endung .inc.php ist darum sinnvoll, weil einerseits schon vom Namen her klar sein soll, dass es sich hierbei nur um ein Include-Skript handelt, also kein für sich alleine lauffähiges Programm. Andererseits würde die Endung .inc alleine dazu führen, dass sich jemand diese Seite im Quelltext von Ihrem Server herunterladen kann. Denn wenn man sie direkt aufruft, würde sie einfach so an den Browser geschickt werden. Durch die Endung .php dagegen wird die Datei immer von PHP verarbeitet und gibt – nur für sich aufgerufen – nichts aus, in anderen Fällen vielleicht einen Fehler, aber niemals den Source-Code selbst. Das mag für Sie momentan nicht wichtig sein, ist aber guter Stil, denn gerade in Include-Dateien stehen oft wichtige Details, wie hier die Zugangsdaten zu einem Datenbank-Server.

Das brauchen Sie für die ersten Schritte mit PHP

Es muss nicht gleich ein eigener Web-Server im Internet sein, um die ersten Schritte mit PHP zu wagen. Ihr Windows-PC ist bereits eine praktikable Plattform, um mit eigenen Skripts zu experimentieren. Die Komponenten Webserver, PHP-Modul sowie die sinnvolle Erweiterung eines Datenbank-Servers können Sie selbst downloaden und installieren. Das macht aber viel Arbeit, die Ihnen ein Projekt namens XAMPP weitgehend abnimmt. Damit lässt sich in fünf Minuten das Komplettpaket zum Laufen bringen. Über eine Oberfläche starten Sie einzelne Komponenten nur bei Bedarf, so dass Ihr PC zu den Zeiten, wo Sie keine Webentwicklung betreiben, nicht unnötig belastet wird.

Um die Skripts selbst zu schreiben, benötigen Sie einen einfachen Texteditor. Prinzipiell wäre dafür auch der Windows-Editor geeignet. Ein komfortabler Editor wie Ultraedit nimmt Ihnen aber einige Arbeit ab, in dem er beispielsweise die PHP-Klammerebenen anzeigt, direkten Zugriff auf extern gespeicherte Dateien per FTP bietet oder mächtige Ersetzungsbefehle bietet.

Es gibt auch ganz speziell für PHP entwickelte Editoren, wie der PHP Designer oder das Zend Studio. Die beherrschen dann beispielsweise die automatische Ergänzung von Befehlen und Funktionsparametern bei der Eingabe oder machen durch farbliche Hervorhebung von PHP-Schlüsselwörtern und Kommentaren den Programmcode besser lesbar.

Eine sehr praktische Hilfestellung für Windows-Nutzer bietet das Manual als Windows-Helpfile (Format *.CHM). Es bietet in kompakter Form eine umfassende Referenz zu PHP.

Siehe auch:

Ähnliche Beiträge