Dynamische Webseiten mit PHP

Einführung in PHP

Installation und Version

PHP wird als Modul von Apache oder als eigenständige CGI-Applikation (Interpreter) auf dem Server betrieben.

Die aktuelle Version ist: 5.2.9

Nach der Installation muß der Apache-Server neu gestartet werden, da er nur beim Starten die Konfigurations-Datei einliest.

Insatallationshilfen findet man u.a. auf folgenden Seiten:

http://www.apachefriends.org/de/xampp.html
http://www.entropy.ch/software/macosx/php/


PHP-Dateien schreiben und speichern

PHP-Dateien, müssen, wie HTML-Dateien auch, als reine Text-Dateien gespeichert werden. D.h. es dürfen keine Formatierungen etc. im Text enthalten sein.
Die Dateiendung ist immer .php

Wenn Du unter Windows arbeitest bietet sich als Programmeditor an:

  • Editor (unter Programme->Zunbehör)
    beim Speichern: Endung .php; Dateityp: Textdatei (*.txt); Codierung ANSI oder UTF-8
  • Proton (Freeware unter http://www.qhaut.de/ -> Downloads zu haben)
  • Wenn es unbedingt Word sein muss, dann unbedingt speichern als: Dateityp "Nur Text"

Wenn Du unter Mac OS arbeitest:


Hilfreiche Adressen beim Arbeiten mit PHP


Konfiguration

Der Apache Server wird durch eine Text-Datei httpd.conf konfiguriert.

Sie wird eingelesen, wenn der Apache-Server startet. D.h. nach jeder Veränderung in httpd.conf muss der Server neu gestartet werden.

Die Konfigurationsdateien sind sehr gut kommentiert. Jede Zeile die mit einem # beginnt wird vom Server ignoriert und dient nur der Information für den Administrator.

Folgende Felder sind wichtig (Auswahl):

VariableBeispiel für die BelegungKommentar
AddType application/x-httpd-php .php .php3 .php4 Hier wird der Interpeter bestimmten Dateiendungen zugewieden.
LoadModul php4_module e:/server/php/sapi/php4apache.dll Legt die Reihenfolge fest, in der die Module geladen werden.
AddModul mod_php4.c Fügt ein Modul dem Server hinzu.
ServerName www.xyz.de Hier wird die IP-Adresse oder die URL des Servers eingetragen. Für lokal laufende Server gilt die IP-Adresse 127.0.0.1
DocumentRoot e:/daten/htdocs Der Pfad zu dem verzeichnis mit den HTML bzw. PHP Seiten.



Der PHP Interpreter wird durch die Text-Datei php.ini konfiguriert.
Sie wird eingelesen, wenn der Interpreter startet. D.h. nach jeder Veränderung in php.ini muß der Interpreter neu gestartet werden.

Die Konfigurationsdateien sind sehr gut kommentiert. Jede Zeile die mit einem ; beginnt wird vom Server ignoriert und dient nur der Information für den Administrator.

Folgende Felder sind wichtig (Auswahl):

VariableBeispiel für die BelegungKommentar
short_open_tag On Erlaubt zusätzlich zu <?php auch die Kurzform <?
safe_mode On Macht PHP sicherer
error_reporting [verschiedene Möglichkeiten] Hier kann festgelet werden welche Fehler angezeigt werden sollen. (siehe Kommentare)
register_globals Off Sollte aus Sicherheitsgründen abgestellt sein
extension php_gd.dll Erweitert PHP um die Grafikbibliothek GD


Das erste PHP-Script

Womit schreiben? Wie HTML im Texteditor!
Sehr gute kostenlose Texteditoren für PHP und HTML sind Proton oder Phase5. Beide sind zu finden unter: http://www.qhaut.de/

Mein erstes PHP-Skript:

<? phpinfo(); ?>

Was geschieht:

Die Dateiendung muß

  • .php
  • .php3
  • .php4
  • .phtml

sein. Daran erkennt der Webserver (z.B. Apache) das er das Dokument an den PHP-Interpreter weiterleiten muß. Auf welche Endungen der Webserver reagiert, hängt von seiner Konfiguration ab.

Der PHP-Interpreter sucht im ganz normalen HTML-Text nach <? oder <?php. Das ist für ihn das Zeichen, das er hier PHP-Code beginnt, den er interpretieren muß. Der Code endet bei ?> und kann mehrfach auftauchen. Also Öffnen- und Schließtag.

phpinfo() ruft eine in PHP eingebaute Funktion auf (das es eine Funktion ist erkennt man an den runden Klammern) und führt sie aus.
Was ist eine Funktion?
Ein geordnete Abfolge von Befehlen die nacheinander abgearbeitet werden. So können bestimmte Routinehandlungen in einer Funktion zusammengefasst werden, die dann nur aufgerufen werden muß, ohne die Befehle immer wieder erneut schreiben zu müssen.

Was tut phpinfo?
phpinfo() erstellt eine komplette HTML-Seite und gibt darin die Einstellungen der php.ini Datei aus.


Einbettung

Möglichkeiten des Einbindens:

Einbindung Bemerkungen
<? … ?> SGML Stil; Dafür muß in der php.ini der Wert short_open_tag = on sein.
<?PHP … ?> XML Kompatibel (funktioniert immer)
<?php … ?> XML Kompatibel (funktioniert immer)
<% … %> ASP-Stil; Dafür muß in der php.ini der Wert asp_tags = on sein.
<script language=“php“>

</script>
HTML-Style (funktioniert immer)

Die Einbindung von PHP-Code in HTML kann mehrfach in einem Dokument erfolgen. Dabei wird dann zwischen PHP und HTML hin- und hergeschaltet.

Beispiel:

<?
if ($a == 10) { ?>
<a href=“zehn.php“>Zehn</a>
<? }
esle { ?>
<a href=“zehn.php“>Zehn</a>
<? } ?>


Längeres Umschalten auf HTML durch heredoc-Zeichen:
echo muss dabei ganz am Anfang einer Zeile stehen! (Es darf kein Leerzeichen davor sein!) PHP-Variablen werden darin ausgewertet.

echo <<< name
HTML-Text
name;


Syntax

Kommentare:

/* … */ für mehrere Zeilen
// oder # für eine Zeile


Anweisungen:
Jede Zeile immer mit ; beenden!

<? echo(„hallo“); ?>