PHP 5 - Ein praktischer Einstieg
2. Auflage

PHP 5 - Ein praktischer Einstieg, 2. Auflage

Von Ulrich Günther
2. Auflage, August 2004
O'Reilly Verlag, ISBN: 3-89721-278-1
www.oreilly.de/catalog/einphp2ger/



TOC PREV NEXT INDEX

Kapitel 1

Kapitel 1

Etwas PHP gefällig?

Vielleicht lesen Sie diese Zeilen gerade, während Sie in der Buchhandlung stehen, und fragen sich, ob dieses Buch das ist, was Sie gesucht haben. Dieses Buch zeigt Ihnen, wie Sie sich mit der kostenlosen Open Source-Technologie PHP (Version 5) eine einfache, aber leistungsfähige interaktive Website mit Datenbankanbindung bauen können. Dazu brauchen Sie aber kein Informatiker zu sein. Die anderen, die außer Ihnen ebenfalls in dieses Buch schauen, sind vielleicht

Dieses Buch ist also für alle diejenigen gedacht, die sich schon etwas im WWW auskennen und mehr über PHP wissen wollen. Idealerweise sollten Sie bereits Erfahrungen im Erstellen von ganz einfachen statischen Webseiten gemacht haben, z.B. mit Word, FrontPage oder PageMill. Wenn Ihnen (oder auch Ihrem Chef) eine einfache statische Website nicht mehr reicht oder Sie auch nur neugierig sind, wie Sie einfach zu einer interaktiven Website kommen können, dann sind Sie hier richtig.

Vielleicht wollen Sie sich aber auch nur anhand eines praktischen Projekts schnell in PHP einarbeiten. Auch wenn Sie schon erste Schritte in PHP unternommen haben, sollte Ihnen dieses Buch helfen, typische Problemstellungen schnell zu lösen.

Die vorliegende zweite Auflage führt Sie nicht nur in die aktuelle PHP-Version 5 und in einige ihrer nützlichen Neuerungen ein, sondern zeigt Ihnen auch die wichtigsten Unterschiede zwischen den beiden PHP-Versionen 4 und 5. Beim Thema Datenbankanbindung können Sie ab jetzt zwischen SQLite und MySQL wählen. Das Buch ist von Grund auf überarbeitet worden, um es noch verständlicher zu machen: Mehr Beispiele und ein konsequenterer Programmierstil helfen Ihnen, von Anfang an sauber und professionell zu programmieren.

Was finde ich in diesem Buch, und wo?

Weil es sich anhand von praktischen Beispielen am besten lernt, verfolgt dieses Buch in weiten Teilen den schrittweisen Aufbau einer relativ komplexen Webseite für einen (imaginären) Vogelschutzverein. So können Sie die vorgestellten Techniken und Lösungen in ihrer »natürlichen Umgebung« beobachten und sie dann einfach auf Ihren Anwendungszweck umstricken. Alle Codebeispiele werden ausführlich erklärt. Damit die Übung nicht zu kurz kommt, werde ich Ihnen auch immer wieder kleine Änderungen und Erweiterungen vorschlagen, die Sie selbst ausprobieren können.

Um PHP als Technologie verstehen zu können, ist es wichtig, dass Sie sich mit den Grundlagen des World Wide Web auskennen. Deshalb fangen wir in Kapitel 2, Technische Grundlagen, mit einem Überblick über die Technologien an, die PHP erst möglich machen. Wir sehen uns außerdem die Vor- und Nachteile konkurrierender Technologien an - schließlich will ich Ihnen ja keine Katze im Sack verkaufen.

Als Nächstes steht ein bisschen HTML auf dem Programm, die Brot-und-Butter-Technologie des World Wide Web. Gerade so viel, wie Sie zur Erstellung einfacher statischer Webseiten brauchen. Wenn Sie bisher keine Webseiten erstellt oder nur mit Word, FrontPage o.Ä. gearbeitet haben, sollten Sie sich Kapitel 3, Basiswissen HTML, unbedingt durchlesen.

In Kapitel 4, Einstieg in die Programmierung: Einfache PHP-Skripte, wird es dann ernst: An einem einfachen PHP-Skript lernen Sie das Funktionsprinzip von PHP kennen. Danach bauen wir ein HTML-Formular, mit dem wir einem PHP-Skript benutzerspezifische Daten übergeben.

In Kapitel 5, Effizientes Programmieren mit Funktionen und Objekten, sehen wir uns an, wie Sie PHP-Code durch den Einsatz von Funktionen und Objekten schneller, sauberer und effektiver programmieren können. Dort machen wir uns mit den Grundlagen objektorientierter Programmierung vertraut: Klassen, Objektinstanzen, Eigenschaften, Methoden, Konstruktoren und Vererbung.

In Kapitel 6, PHP und Datenbanken, werden Sie in das Einmaleins der Datenbanksprache SQL eingeführt und lernen, wie Sie von Ihren PHP-Skripten aus eine SQL-Datenbank ansprechen, abfragen und verändern können. Neu hinzugekommen in der zweiten Auflage sind Rat und Hilfe zur Wahl der Datenbank: MySQL mit oder ohne Lizenz? SQLite? Hier erfahren Sie, was Sie wissen müssen.

In Kapitel 7, Ein PHP-Feuerwerk: Objekte wiederverwenden, ernten wir die Früchte unserer Designarbeit und erstellen einige nützliche Skripte. Hier lernen Sie auch, wie Sie mit PHP Grafiken erstellen und ausgeben können.

Zum Abschluss besprechen wir in Kapitel 8, Weitere nützliche PHP-Techniken, noch eine Reihe hilfreicher Techniken, wie z.B. E-Mail-Versand mit PHP, den Umgang mit Zahlen, das Erstellen von Microsoft-Office-Dokumenten von PHP aus, sowie Aspekte der Sicherheit und Strategien zur erfolgreichen Fehlersuche.

Im Anhang finden Sie Anleitungen zum Herunterladen und Installieren der wichtigsten Software, eine Einführung in den Gebrauch von SQLite (der »neuen« Datenbank in PHP) sowie Links zu nützlichen Seiten im Internet.

Beispielskripte zum Herunterladen

Die Beispielskripte in diesem Buch finden Sie auf der Website des O'Reilly Verlags unter der Adresse http://www.oreilly.de/catalog/einphp2ger/.

Schriftkonventionen

In diesem Buch werden die folgenden typografischen Konventionen verwendet:

Kursivschrift
Wird für Datei- und Verzeichnisnamen, E-Mail-Adressen und URLs, aber auch bei der Definition neuer Fachbegriffe und für Hervorhebungen verwendet.
Nichtproportionalschrift
Wird für Codebeispiele und Variablen, Funktionen, Befehlsoptionen, Parameter, Klassennamen und HTML-Tags verwendet.
Nichtproportionalschrift kursiv
Wird als allgemeiner Platzhalter verwendet, der in Ihren eigenen Programmen durch tatsächliche Werte ersetzt werden muss.
Die Glühbirne kennzeichnet einen Tipp oder einen generellen Hinweis mit nützlichen Zusatzinformationen zum Thema.
Der Regenschirm kennzeichnet eine Warnung oder ein Thema, bei dem man Vorsicht walten lassen sollte.
In Kästen mit einem Mikroskop wird ein Thema genauer unter die Lupe genommen.

Nützliche Tools

Die gute Nachricht ist, dass Sie sich keine teure Software anschaffen müssen, um die Beispiele in diesem Buch nachvollziehen zu können. Zum Entwickeln von Webseiten mit PHP brauchen Sie im Prinzip nur die folgende Software:

Wenn Sie eine Datenbank einbinden wollen, brauchen Sie außerdem ein Datenbankprogramm bzw. Zugang zu einem Datenbankserver, auf dem Sie Ihre Datenbank betreiben können.

Darüber hinaus gibt es noch einige zusätzliche Programme, die bei der Erstellung von Webseiten mit PHP hilfreich sein können. Wir kommen gleich noch darauf zurück.

Editoren für das Schreiben von HTML- und PHP-Code

Die Auswahl dieses Editors ist nicht besonders kritisch. Sie können fast jeden reinen Texteditor verwenden. Textverarbeitungsprogramme wie Microsoft Word, die Text mit Formatierungen abspeichern, sind allerdings nicht zu empfehlen. Neben reinen Texteditoren gibt es auch spezialisierte HTML-Quellcode-Editoren.

Für kleinere Skripte können Sie, wenn Sie unter Windows arbeiten, dazu den eingebauten Windows-Texteditor Notepad verwenden, den Sie unter Start > Zubehör finden. Da dieser aber in seinem Funktionsumfang recht beschränkt ist und teilweise mit größeren Dateien auch nicht fertig wird, werden Sie sich früher oder später vermutlich einen leistungsfähigeren Editor zulegen wollen.

Dazu gibt es diverse Freeware- und Shareware-Editoren. Wenn Sie keine Schnörkel mögen, wird vermutlich EditPad Ihren Geschmack treffen. Sie finden dieses Programm unter http://www.jgsoft.com/. Es unterstützt alle wichtigen Funktionen, die Sie von einem Editor erwarten können. Abbildung 1-1 zeigt einen typischen Bildschirm.
Abbildung 1-1 Mit EditPad können Sie mehrere Textdateien gleichzeitig bearbeiten

Gehören Sie zu den Web-Entwicklern, die gern auf automatisierte Zusatzfunktionen zurückgreifen? Dann sollten Sie sich überlegen, ob Sie nicht mit einem HTML-Editor besser bedient sind. Ein solcher Editor kann Ihnen die Arbeit sehr erleichtern, indem er häufig vorkommende HTML-Codesequenzen automatisch einsetzt. Ein sehr beliebter Freeware-Editor mit solchen Funktionen ist Jext (www.jext.org), der unter anderem auch expliziten Support für PHP bietet. Abbildung 1-2 zeigt einen Bildschirm.
Abbildung 1-2 Auch Jext kann mehrere Dateien gleichzeitig bearbeiten; außerdem finden Sie hier eine Menge Funktionen, die Ihnen bei der Eingabe von HTML viel Tipparbeit ersparen

Ein deutschsprachiges Programm, das diese Aufgabe recht gut beherrscht, ist der HTML Editor Phase5 von Ulli Meybohm, den Sie unter http://www.meybohm.de finden können.

Unter Linux gibt es eine ganze Menge von Editoren; wenn Sie Linux-Fan sind, werden Sie vermutlich bereits Ihren Lieblingseditor haben - vi, emacs, joe, axe oder nedit. Für einige dieser Editoren gibt es auch Code-Einfärbungsschemata für HTML und/oder PHP.

Für Linux stehen auch mehrere HTML-Editoren zur Verfügung: CoffeeCup (http://www.coffeecup.com/linux/), Bluefish (http://bluefish.openoffice.nl/) oder Quanta Plus für KDE (http://quanta.sourceforge.net/).

Der Webserver

Im Gegensatz zu reinen HTML-Dateien lassen sich PHP-Dateien nicht ohne einen Webserver verwenden. Wenn Sie sie direkt von der Festplatte in einem Browser öffnen, werden Sie im Regelfall eine unvollständige Seite sehen.

Zur Entwicklung Ihrer PHP-Skripte können Sie einen lokalen Webserver mit PHP auf Ihrem eigenen Computer installieren. Der weitaus populärste Webserver ist der Apache HTTP Server, oft auch einfach nur Apache genannt. Sie erhalten diese Software kostenlos unter http://www.apache.org. Sie läuft sowohl unter Windows als auch unter Linux. Die Installation und Konfiguration des Apache-Servers mit PHP ist im Anhang beschrieben.

Nach der Entwicklung wollen Sie Ihre Webseiten wahrscheinlich ins WWW stellen. Dazu brauchen Sie aber einen Webserver, der 24 Stunden am Tag zur Verfügung steht und eventuell auch Ihre eigene Domain unterstützt. Wenn Sie nicht zu den Glücklichen gehören, die Zugang zu einem eigenen Server mit vollem Internetzugang haben, müssen Sie sich wohl oder übel einem Webhosting-Provider anvertrauen.

Wie finden Sie den richtigen Webhosting-Provider? Ein nach verschiedenen Kriterien durchsuchbares Verzeichnis finden Sie unter http://www.webhostlist.de/. Ein zweiter Weg besteht darin, mit Ihrem Browser zu einer Suchmaschine wie z. B. http://www.google.de oder http://www.altavista.de zu gehen und +Webhosting +PHP einzugeben.

Auch wenn Sie nur nach deutschsprachigen Seiten suchen, werden Sie hier von Angeboten nur so überschwemmt. Viele der Provider bieten auch MySQL oder andere Datenbanken an. Wenn Sie einen kostenlosen Provider suchen (was aber oft mit Einschränkungen verbunden ist), geben Sie einfach noch das Wort kostenlos mit ein.

Zu den Auswahlkriterien für einen Provider gehört neben dem Preis u.a. auch die Frage, ob er die ggf. benötigte Datenbankunterstützung anbietet. Außerdem sollten Sie sich nach dem Kundenservice erkundigen - wenn Sie einmal Probleme mit Ihrer Website haben, wollen Sie vermutlich nicht tagelang mit Anrufbeantwortern reden müssen.

Wenn Sie Ihren eigenen Server betreiben wollen und über einen DSL-Anschluss ohne feste IP-Adresse verfügen, können Sie auch die Dienste eines dynamischen Domain-Redirect-Providers in Anspruch nehmen. Ein solcher Provider leitet alle Anfragen nach Ihrer Domain auf Ihre IP-Adresse um. Dazu müssen Sie dem Server des Providers mitteilen, wenn sich Ihre IP-Adresse geändert hat. Das geht in der Regel über ein Client-Programm, das Sie ständig auf Ihrem Computer laufen lassen und das diese Mitteilung automatisch abwickelt. Die meisten Provider helfen Ihnen bei der Auswahl eines Client-Programms. Domain-Redirect-Dienste gibt es sowohl kostenpflichtig (mit eigener Domain) als auch kostenlos. Einen solchen kostenlosen Dienst finden Sie beispielsweise bei http://www.dyndns.org. Ein Nachteil der Redirect-Dienste ist allerdings, dass Ihre Website bei einem dynamischen Wechsel Ihrer IP-Adresse kurzzeitig unerreichbar sein kann.

Zum Transfer Ihrer PHP-Skripte auf einen externen Webserver benötigen Sie ein so genanntes FTP-Programm (es sei denn, Sie wollen sich mit Kommandozeilen-FTP abquälen). Für Windows gibt es das beliebte Programm WS_FTP LE, das für nicht-kommerzielle Nutzer kostenlos unter http://www.ftpplanet.com/download.htm und bei diversen Shareware-Archiven zu bekommen ist. In Abbildung 1-3 sehen Sie den Hauptbildschirm von WS_FTP LE. Kommerzielle Nutzer können dort auch eine Profi-Version erstehen.
Abbildung 1-3 Der Hauptbildschirm von WS_FTP LE; im linken Fenster befinden sich die Dateien Ihres Computers, im rechten die der Website auf dem Webserver

Unter Linux gibt es eine Reihe ähnlicher Programme, z.B. xftp, iglooftp oder gui-ftp.

Webbrowser

Wenn Sie ernsthaft Webseiten entwickeln wollen, sollten Sie Ihre Schöpfungen möglichst auf mehreren Browsern ausprobieren. Die Darstellung derselben Website kann auf unterschiedlichen Computern und Browsern sehr verschieden ausfallen. Der populärste Browser im Internet ist Microsofts Internet Explorer. Mit ihm sollten Sie auf jeden Fall testen. Die anderen »wichtigen« Browser sind Netscape (wobei hier sowohl Netscape Communicator in der 4.7X-Serie als auch Netscape 6.X weit verbreitet sind), Mozilla (die Open Source-Version von Netscape, erhältlich unter http://www.mozilla.org), Opera (ein schneller und feiner Browser - http://www.opera.com) sowie Konqueror unter Linux und Safari auf dem Mac.

Datenbanken

Die Zahl der von PHP unterstützten Datenbanken wächst ständig. Die Beispiele in diesem Buch greifen auf eine Datenbank zu, die auf einem MySQL-Datenbankserver untergebracht ist. MySQL ist eine leistungsfähige Open Source-Datenbank und wohl mit Abstand die populärste Datenbank für PHP-Applikationen.

Um die Beispiele zunächst einmal lokal auf Ihrem Computer auszuprobieren, sollten Sie MySQL auf Ihrem Rechner installieren (es sei denn, Sie hätten bereits einen MySQL-Server in Ihrem Netzwerk zur Verfügung). Wie das geht, steht im Anhang dieses Buchs. Wenn Sie jetzt schon mit dem Herunterladen beginnen wollen, finden Sie die nötige Software unter http://www.mysql.de/.

Zum Umgang mit MySQL unter PHP empfiehlt sich das Open Source-Web-Frontend phpMyAdmin, das Sie über http://phpmyadmin.sourceforge.net/ bekommen können und das auch über eine deutschsprachige Benutzeroberfläche verfügt.

Für kleinere Datenbankanwendungen können Sie auch die Datenbank SQLite verwenden, die ab PHP 5 mit PHP gebündelt wird. Näheres dazu finden Sie in Kapitel 6 und in Anhang C.

Andere nützliche Programme

Zum Einbinden von Grafiken in Ihre Seiten sollten Sie über entsprechende Tools zur Grafikerstellung und -bearbeitung verfügen. Unter Linux gibt es da gimp, während unter Windows IrfanView (http://www.irfanview.com) für Fotos und - leider nicht ganz kostenlos - Adobe Photoshop (http://www.adobe.de), CorelDraw (http://www.corel.de) oder auch Paint Shop Pro beliebt sind.

Sichere Datenübertragung mit SSL

Nehmen wir an, Sie wollen Ihren eigenen Webserver betreiben und mit Ihren Benutzern vertrauliche Daten austauschen. Das könnten z.B. Kreditkarteninformationen sein, aber auch Rechnungen, Buchungen oder vertrauliche persönliche Daten. Das sollten Sie am besten über eine verschlüsselte Verbindung machen. Der Industriestandard, der von allen Browsern und den meisten Servern unterstützt wird, heißt SSL (Secure Sockets Layer). Sie haben bestimmt schon entsprechende URLs gesehen - sie fangen mit https:// statt mit http:// an.

Um Ihren Server mit SSL zu betreiben, sollten Sie ein so genanntes Zertifikat besitzen. Solche Zertifikate kosten etwas Geld, da Sie sie von einer von den meisten Browsern anerkannten Zertifizierungsstelle kaufen müssen. Die bekannteste Zertifizierungsstelle ist Verisign, Inc. (http://www.verisign.com), die in Deutschland u.a. durch den Sparkassenableger S-Trust (http://www.s-trust.de/) vertreten ist. Der Preis für ein solches Server-Zertifikat beträgt typischerweise mehrere hundert Euro pro Jahr.


TOC PREV NEXT INDEX

Copyright © 2004 by O'Reilly Verlag GmbH & Co.KG