1 PHP Einf hrung (Seite 2)|Artikel|Projekt OsUp

PHP Einführung

Datenbanken

PHP unterstützt insbesondere die einfache Bearbeitung von Formularen und die Zusammenarbeit mit vielen verschiedenen Datenbank-Systemen. Besonders im Zusammenhang mit MySQL-Datenbanken wird PHP im Internet häufig eingesetzt. Auf über einer Million Web-Sites wird bereits mit PHP gearbeitet, und das mit steigender Tendenz.

Galileo ComputingWie lerne ich PHP?  down

top

Alle Abschnitte dieses Buches haben folgenden Aufbau:

Theorie

gp   Den bis zum jeweiligen Zeitpunkt vorhandenen Grundlagen und Kenntnissen werden neue Elemente hinzugefügt. Die Theorie wird beschrieben und anhand von vollständigen, anschaulichen und ausführlich kommentierten Beispielen erläutert.

Übungen:

gp   Der Leser hat die Möglichkeit, Übungsaufgaben zum Thema zu lösen. Er soll dabei das soeben erworbene Wissen umsetzen und hat damit eine unmittelbare Erfolgskontrolle. Er kann selber feststellen, ob er den betreffenden Abschnitt verstanden hat.

Lösungen

gp   Die Lösungen zu allen Übungsaufgaben finden sich im Anhang. Sollte der Leser eine Übungsaufgabe nicht vollständig gelöst haben, so mag ihm die Lösung als Hilfestellung dienen.
gp   Sofern er selber eine lauffähige Lösung gefunden hat, kann er sie mit der vorgeschlagenen Lösung vergleichen. Beim Programmieren gilt der Grundsatz: Es gibt beliebig viele richtige Lösungen, nicht nur eine sogenannte Musterlösung. Allerdings soll mit dem Aufbau der Beispiel- und Übungsprogramme auch ein übersichtlicher und lesbarer Programmierstil vermittelt werden, der dem strukturierten Erlernen und der professionellen Programmierung dient.

Dem Leser wird die nachfolgend geschilderte Vorgehensweise zum Erlernen von PHP anhand des vorliegenden Buches empfohlen:


Galileo Computing

2.1 Grundlagen  downtop

gp   Lesen des Abschnittes A (diese Einführung)
gp   Bearbeiten des Abschnittes B (HTML für PHP)
gp   Bearbeiten des Abschnittes C (Strukturierte Programmierung mit PHP)

Anschließend kann schon erfolgreich programmiert werden.


Galileo Computing

2.2 Formulare und Datenbanken  downtop

Zu diesen Themen sollten die nachfolgenden Abschnitte in der genannten Reihenfolge bearbeitet werden:

gp   Abschnitt D (Bearbeitung von Formularen)
gp   Abschnitt E (Datenbanken mit MySQL)
gp   Abschnitt F (Programmierung von MySQL-Datenbanken mit PHP)

Galileo Computing

2.3 Vertiefung  downtop

Zur Vertiefung und Erweiterung der Kenntnisse in PHP und HTML können die nachfolgenden Abschnitte bearbeiten werden:

gp   Abschnitt G (Text-Dateien)
gp   Abschnitt H (Arrays)
gp   Abschnitt I (Mathematische Funktionen)
gp   Abschnitt J (Zeichenketten-Funktionen)
gp   Abschnitt K (Neu in PHP 4)
gp   Abschnitt L (HTML gesamt)

Galileo Computing

3 PHP im Vergleich  downtop

PHP bietet im Vergleich zu anderen Programmier-Sprachen einige Vorteile. Im Folgenden sollen einige Kriterien näher untersucht werden, nämlich Ausführungsort, Erlernbarkeit, Einsatzbereich und Preis.


Galileo Computing

3.1 Ausführungsort  downtop

Ein Web-Programm kann entweder auf einem Webserver (Server-Programm) oder beim Betrachter einer Web-Seite (Client-Programm) ausgeführt werden. PHP-Programme sind Server-Programme.

Server-Programme

Server-Programme haben den Vorteil, daß dem Betrachter lediglich die Ausgabe der Programme zugesandt wird. Das Browser-Programm des Betrachters muß lediglich den ausgeführten HTML-Code umsetzen können. Es muß keine besonderen Eigenschaften besitzen, die mit der Programmiersprache des Webservers zusammenhängen. Die Seiten können also auch von älteren Browsern dargestellt werden.

Der Betrachter kann keine Rückschlüsse auf den erzeugenden Programm-Code oder auf die Quelldaten ziehen. Darüber hinaus haben Server-Programme Zugriff auf Text-Dateien und Datenbanken. Dies ermöglicht erst die Durchführung häufig vorkommender Vorgänge wie z. B. die Suche nach bestimmten Daten, die Auswahl spezifischer Informationen oder die Übermittlung von Daten an den Server.

Client-Programme

Client-Programme werden dem Betrachter vollständig im Quellcode übermittelt und gelangen dort zur Ausführung. Die Programme können vom Betrachter leicht kopiert und zu eigenen Zwecken weiter verwendet werden. Darüber hinaus haben Client-Programme nur einen sehr begrenzten Zugriff auf Text-Dateien und keinen Zugriff auf Datenbanken, dies schränkt die dynamische Generierung von Web-Seiten stark ein.


Galileo Computing

3.2 Erlernbarkeit  downtop

Leicht erlernbar

Im Vergleich zu anderen Sprachen ist PHP relativ leicht erlernbar. Dies liegt hauptsächlich daran, dass PHP ausschließlich für die Webserver-Programmierung entwickelt wurde und nur die dafür notwendigen Bestandteile enthält. Mit Hilfe anderer Sprachen können auch herkömmliche Anwendungsprogramme entwickelt werden. Dies bedingt bei diesen Sprachen einen gewissen Overhead, der sich bei der Entwicklung von reinen Web-Seiten störend auswirkt.


3.3 Einsatzbereich  downtop

System-unabhängig

PHP wird von vielen verschiedenen Typen von Webservern einheitlich unterstützt. Andere Sprachen kommen nur auf bestimmten Server-Typen zum Einsatz. Der künftige PHP-Programmierer kann also seine Kenntnisse später auf den unterschiedlichsten Systemen nutzen.


Galileo Computing

3.4 Preis  downtop

Frei verfügbar

PHP kostet nichts, es muß kein Compiler oder Entwicklungssystem gekauft werden. Es kann u. a. auf dem ebenfalls frei verfügbaren und weit verbreiteten Apache Web Server unter verschiedenen Betriebssystemen eingesetzt werden.


Galileo Computing

4 Ein kleines Beispiel  downtop

Anhand des nachfolgenden Beispieles kann man erkennen, wie schnell ein PHP-Programm geschrieben werden kann. PHP-Anweisungen werden einfach in HTML-Code eingebettet.

Hallo Welt

Listing 1   Datei hallo.php
<html>
<body>
<?php echo "Hallo Welt"; ?>
</body>
</html>

Das Programm kann vom Entwickler mit Hilfe eines beliebigen Texteditors erzeugt werden. Anschließend wird es bei einem PHP-fähigen Webserver abgespeichert, z. B. im dortigen Hauptverzeichnis unter dem Dateinamen hallo.php.

Einen solchen Webserver sollte ein künftiger PHP-Programmierer zu Lern- und Entwicklungszwecken auf dem eigenen Rechner installieren (siehe Abschnitt zur Installation).

localhost

Der Name, unter dem der Webserver auf dem eigenen Rechner erreichbar ist, kann meist frei gewählt werden. Häufig ist in den Konfigurationsdateien der Name localhost voreingestellt. Folglich kann die Startseite des Webservers unter der Adresse http://localhost erreicht werden.

Der Betrachter ruft mit Hilfe eines beliebigen Browsers die Datei durch Eingabe der Adresse auf. Im vorliegenden Beispiel ist dies die Adresse http://localhost/hallo.php. Anschließend erscheint bei ihm der Ausgabetext »Hallo Welt«.

Natürlich kann das Ergebnis des o. a. Programmes auch mit einer reinen HTML-Datei erzeugt werden. Es soll hier nur gezeigt werden, wie leicht ein PHP-Programm in eine Web-Seite integriert werden kann.


Galileo Computing

5 Vorkenntnisse des Lesers  downtop

Zum Erlernen von PHP anhand des vorliegenden Buches sollte der künftige PHP-Programmierer Grundkenntnisse auf Anwenderebene von einem der nachfolgenden Betriebssysteme besitzen: Windows 95, Windows 98, Windows NT, Linux oder Unix

Dateisystem

Dies beinhaltet den Umgang mit dem jeweiligen Verzeichnis- und Dateisystem, d. h., er sollte folgendes können:

gp   zwischen verschiedenen Verzeichnissen wechseln
gp   Textdateien mit Hilfe eines Texteditors öffnen, bearbeiten und speichern
gp   Dateien kopieren, verschieben und löschen

Browser

Darüber hinaus sollte er einen Browser, also ein Programm zur Betrachtung von Web-Seiten bedienen können. Dies kann z. B. der Netscape Navigator oder der Internet Explorer sein.

HTML

Falls bereits Kenntnisse der Sprache HTML (Hypertext Markup Language) vorliegen, so kann der Abschnitt B (Grundlagen von HTML für PHP) im vorliegenden Buch entweder übergangen oder zur Eigenkontrolle kurz durchgesehen werden.


Galileo Computing

6 System-Voraussetzungen  downtop

Der Rechner sollte mit einem der folgenden Betriebssysteme laufen:

Betriebssystem

gp   MS Windows 95b / 95c
gp   MS Windows 98 / 98 SE
gp   MS Windows NT 4.0 Server / Workstation
gp   Linux
gp   Unix

Es sollte ein Browser zur Darstellung von Internet-Seiten zur Verfügung stehen wie z. B.:

gp   Netscape Navigator für Linux und MS Windows
gp   MS Internet Explorer für MS Windows

Webserver

Es sollte ein PHP-fähiger Webserver installiert sein wie z. B.:

gp   Apache 1.3.x, für Linux, Unix und MS Windows
gp   Omni HTTPd 2.0 b1, für MS Windows
gp   MS Personal Web Server (PWS), für MS Windows 95/98
gp   MS Internet Information Server (IIS), ab Version 3, für MS Windows NT

Man benötigt außerdem PHP selbst:

gp   entweder im Quellcode zum Kompilieren oder als fertiges Produkt
gp   entweder in der Version für Unix / Linux oder in der Version für Windows

Auf der beiliegenden CD finden sich u. a. PHP für Windows und der Apache Web Server für Windows. Bei den neueren Linux-Distributionen sind der Apache Web Server und PHP bereits enthalten.


Galileo Computing

7 Installation und Konfiguration einer Entwicklungsumgebung  downtop

Im Anhang werden einige typische Beispiel-Installationen (unter Linux bzw. Windows 98) beschrieben. Beide Betriebssysteme sind als Basis für ein Entwicklungssystem für den Leser geeignet. Die Beispiele und Übungsaufgaben des vorliegenden Buches sind unter den drei im Anhang vorgestellten Installations-Varianten getestet worden.

Mit Hilfe der Linux-Variante kann auch ein professioneller Webserver im Internet betrieben werden. Windows 98 ist eher für kleinere Netzwerke geeignet.

PHP-Manual

Weitere Informationen zu den Installations- und Konfigurationsmöglichkeiten sind im PHP-Manual zu finden. Dieses Manual wird kontinuierlich aktualisiert und steht in aktueller Version unter der Adresse http://www.php-center.de zum Download zur Verfügung. Die Version von März 2000 findet sich auf der CD.


Galileo Computing

A.8 Daten-Sicherheit bei PHP  toptop

Ein PHP-Programm kann auf einem Webserver auf Dateien zugreifen, Befehle ausführen und Netzwerk-Verbindungen öffnen. Dadurch stellt es eine potentielle Gefahr für die Datensicherheit dar. In der richtigen Konfiguration stellt es dem Programmierer allerdings die gewünschte Mischung aus Sicherheit und gestalterischer Freiheit zur Verfügung. Es gibt eine große Zahl von möglichen Konfigurations-Optionen. Eine Beschreibung der dazu notwendigen Schritte findet sich im PHP-Manual.

An dieser ungewöhnlichen Stelle möchte ich die Gelegenheit wahrnehmen, Herrn Peer Wülfing herzlich zu danken, der mir von Anfang an mit Anregungen und Kritik zur Seite stand.