Einführung in PHP
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, 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:
Wenn Du unter Mac OS arbeitest:
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):
Variable | Beispiel für die Belegung | Kommentar |
---|---|---|
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):
Variable | Beispiel für die Belegung | Kommentar |
---|---|---|
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 |
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ß
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.
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>
<? } ?>
echo <<< name
HTML-Text
name;
/* … */ | für mehrere Zeilen |
// oder # | für eine Zeile |
Anweisungen:
Jede Zeile immer mit ; beenden!
<? echo(„hallo“); ?>