AMIGA-Magazin · Ausgabe 11/00 · Skript-Sprache: PHP

Aktuelles Heft 11/00

PHP hautnah

PHP installiert und was nun? Lernen Sie anhand konkreter Beispiele, wie sie PHP auf dem Amiga sinnvoll nutzen können: von einfachen Beispielen bis hin zu komplexen Skripten aus dem Internet.

von Martin Steigerwald

Big Brother:
In der Regel dienen jedoch Cookies der Verfolgung der Aktivitäten eines Web-Surfers. Der Cookies-Check durch den Browser ist deshalb eine gute Idee.
 
Große Tabellen:
Wie schnell kann ihr Browser große Tabellen anzeigen? Natürlich läßt sich die Anzahl der Spalten und Reihen (theoretisch) fast beliebig erhöhen.
 
Website-Manager:
Mit AnyPortal können Sie direkt über ein Web-Interface in den von Ihrem Apache-Server verwalteteten Verzeichnissen Dateien uploaden oder löschen.
 
Online editieren:
Sie können mit AnyPortal auch Dateien editieren. Ideal, um einmal schnell etwas auszuprobieren.
 
aPHP-Skripte entwickeln:
»IDE« hilft beim schnellen Austesten von Ideen. Einfach ein Skript eingeben, es speichern und RUN zum Start des Skripts anklicken.

Damit Sie diesen Artikel praktisch nachvollziehen können, sollten Sie Apache/PHP bereits, wie in der letzten Ausgabe beschrieben, installiert haben. Dieser Artikel geht (noch) nicht auf die Datenbank-Nutzung via PHP ein. Das hat einen einfachen Grund: Weder PostGreSQL aus dem AmiNet ließ sich problemlos kompilieren, noch mSQL (ebenfalls aus dem Aminet) schien einwandfrei zu funktionieren. Einen MySQL-Port für Amiga gibt es leider nicht. Da scheint auf den interessierten PHP-Nutzer noch einiges an Bastelarbeit zu warten. Wir bleiben für Sie auf jeden Fall an der Datenbank-Geschichte dran und informieren Sie, sobald es etwas Neues gibt. Und dann gibts auch einen Bericht über PHP-Beispiele mit Datenbank-Nutzung. Dieser Bericht ist kein PHP-Programmierkurs. Die Syntax von PHP ähnelt der von C, Java und Perl. Wer eine oder mehrere dieser Sprachen kennt wird sich gut zurecht finden. Es gibt gute Bücher zu PHP. Wer schnell einen Einblick gewinnen möchte, ist mit »PHP ­ kurz & gut« von Rasmus Lerdorf, der 1995 das PHP-Projekt ins Leben rief, gut beraten.

Einfach, aber gut

Doch nun zu ein paar einfachen Beispielen. Das Praktische an PHP ist die Möglichkeit, PHP-Befehle und HTML-Code in einer Datei beliebig zu mischen:

Zunächst einmal wird alles, was in einem PHP-Skript steht, als HTML-Code gedeutet. PHP-Befehle kann man zwischen <? und ?> in dem PHP-Skript unterbringen. Das kann aber Probleme mit XML geben, weshalb die Schreibweise <?php und ?> empfehlenswert ist. Auch der <script language="php">-Tag kann verwendet werden. Einzelne PHP-Befehle werden durch Semikola getrennt. Variablennamen fangen bei PHP wie in Perl mit einem Dollarzeichen an.

Doch nun zum ersten Beispiel: Mit PHP kann man Apache-Server-Variablen aber auch mit der GET- oder der POST-Methode übermittelte Variablen sowie Cookie-Inhalte auslesen. »BigBrother« liest zum Beispiel die Variablen $HTTP_ USER_AGENT sowie $REMOTE_ADDR aus, um den Benutzer die IP-Adresse seines Rechners sowie den von ihm verwendeten Webbrowser anzuzeigen (s. Listing 1 und »Big Brother«).

Sicherlich nimmt sich dieses Skript im Vergleich zu den in Verschwörungstheorien und Artikeln über Spionage-Aktionen ziemlich harmlos aus. Aber schon das Mitschreiben von IP-Adressen und aufgerufener URLs in eine Datei lässt zumindest das Nutzungsverhalten eines Users offensichtlich werden ­ zumindest bis zum Trennen der Verbindung. Deshalb soll es hier nur als Beispiel dienen, wie Variablen ausgelesen werden können. Das Skript zeigt auch, wie man die Uhrzeit des Servers im lokalen Zeitformat anzeigen lassen kann.

Tabellen bauen

Das zweite kleine Beispiel zeigt noch deutlicher die Mischung von PHP- und HTML-Code. So lässt sich selbst eine for-Schleife mit HTML-Elementen mischen, um zum Beispiel auf einfache Weise eine große Tabelle zu erzeugen (s. Listing 2 und »Große Tabellen«). Bei PHP können dieselben geschweiften Klammern wie in C verwenden werden, um in Kontrollstrukturen einzelne Bereiche abzugrenzen. Es gibt jedoch auch eine etwas ausführliche Schreibweise mit expliziten Schlüsselwörtern. Diese Schreibweise ­ hier wird die Schleife mit endfor beendet ­ empfiehlt sich, wenn Kontrollstruktur mit HTML-Code vermischt wird.

AnyPortal ­ der Sitemanager!

Natürlich kann man auch die unzähligen PHP-Skript-Archive nach Skripten durchsuchen, die auf dem Amiga funktionieren (s. »Internet-Resourcen«). Leider schränken die Schwierigkeiten bei der Installation einer SQL-Datenbank die Auswahl doch recht stark ein. Sehr viele Beispiele verwenden die auf dem Amiga noch nicht portierte »MySQL«-Datenbank.

Einige Beispiele funktionieren aber dennoch, so unter anderem »AnyPortal«, ein Website-Manager (s. »Website-Manager«). Es erlaubt die Fernwartung der Dateien ihres WWW-Servers über ein Web-Interface. Sie können neue Dateien auf den Server laden oder Dateien löschen. Zudem können sie auf dem Server vorhandene Dateien direkt über das Web-Interface editieren (s. »Online editieren«).

Damit AnyPortal veränderte Dateien auch wieder schreiben oder Dateien löschen kann, reicht es jedoch leider nicht aus, dem User »www« Schreibrechte zu geben. Es funktionierte auf dem Testrechner nur, wenn man auch der Gruppe und der Welt Schreibrechte für die betreffenden Dateien gibt :

chmod a+rwx <Ihr-Verzeichnis>/*

Das ist jedoch nicht ganz ungefährlich. Es macht Sinn, nur bestimmte Verzeichnisse auf diese Weise freizugeben und vor allem den Zugriff auf den Site-Manager für alle Rechner außerhalb des lokalen Netzwerks zu sperren, was natürlich den Nutzen vom Site-Manager wieder einschränkt. Leider ließ sich nicht feststellen, warum das PHP-Skript »siteman.php3« nicht unter dem User »www« auf dem Amiga zu laufen schien.

Entwicklungsumgebung für PHP-Skripte »IDE« bietet die Möglichkeit, mal schnell ein PHP-Skript direkt im Webbrowser einzugeben und zu testen (»PHP-Skripte entwickeln«). Das ist praktisch, da PHP bei Apache/Amiga ja in den Webserver integriert ist und man es nicht einfach von einer Shell aus starten kann. Ohne »IDE« müssten Sie also mit zwei Programmen arbeiten: Das Skript schreiben Sie in einen Texteditor, und zum Neuladen des Dokumentes drücken Sie im Browser-Fenster den Schalter, damit das Skript erneut ausgeführt wird. IDE funktioniert allerdings nur mit AWeb einwandfrei. Es benutzt in den von ihm erzeugten Webseiten JavaScript-Code, der weder mit IBrowse noch mit Voyager in der Praxis richtig funktioniert.

 

 

Internet-Resourcen
Apache und PHP-Grundinstallation
Inhalt Webadresse
Apache für Amiga http://amiga-apache.home.pages.de
Apache-AmiNet-Archiv comm/www/apache_1.3.12.lha
GeekGadgets http://www.ninemoons.com
Miami/MiamiDx http://www.nordicglobal.com
PHP http://www.php.net
PHP - Sourcen, Anwendungen, Beispiele
Devshed http://www.devshed.com/Server_Side/PHP/
Freshmeat http://freshmeat.net
PHP Builder http://phpbuilder.com
PHP Center http://www.php-center.de
PHP Lib http://phplib.netuse.de
PHP Homepage http://www.php-homepage.de
PX ­ PHP Code Exchange http://px.sklar.com
Zend http://www.zend.com
AnyPortal http://nger.org/anyportal/
IDE http://www.ekenberg.se/php/ide/

Literatur:
[1] Pures vergnügen, Martin Steigerwald, AMIGA-Magazin, 10/2000, S. 18
[2] PHP ­ kurz und gut, Rasmus Lerdorf, O`Reilly Verlag, ISBN-Nummer: 3-89721-225-0
[3] Mein Freund W., Jörn-Erik Burkert, AMIGA -Magazin 8/1998, S. 26
[4] Neues vom Indianer, Jörn-Erik Burkert, AMIGA -Magazin 11/1999, S. 14
[5] Lokal vernetzt ­ aber mit Komfort!, Martin Steigerwald, AMIGA-Magazin 8/2000, S. 24

lb


Hauptseite © 2000 All Rights Reserved. Alle Rechte vorbehalten Franzis' Verlag GmbH
Veröffentlichung und Vervielfältigung nur mit schriftlicher Genehmigung des Verlags

Kommentare, Fragen, Korrekturen und Kritik bitte an Webmaster AMIGA schicken.
Zuletzt aktualisiert am 17. 10. 2000.