Sprungmarken

Servicenavigation

Hauptnavigation

Sie sind hier:

Hauptinhalt

PHP-Code in Ihrem Fiona-Auftritt verwenden

Fiona selbst verarbeitet kein PHP und für Fiona-Inhalte brauchen Sie kein PHP. Sie können jedoch selbst PHP verwenden und in Ihren Fiona-Auftritt integrieren. Die Verarbeitung findet erst nach dem Export bei Aufruf einer PHP-Seite durch den PHP-Interpreter Ihres virtuellen Webservers statt. Der Interpreter liest die jeweiligen PHP-Passagen, führt den Code aus und gibt anschließend den endgültigen HTML-Code zurück.

Diese Seite soll Ihnen Informationen dazu geben und eine Hilfestellung bieten. Es wird vorrausgesetzt, dass Sie bereits Kenntnisse in PHP haben. Fiona eignet sich naheliegenderweise nicht als Entwicklungsumgebung für PHP. Entwickeln und testen Sie Ihren PHP-Code lokal oder auf Ihrem Webserver. Falls Sie PHP-Code in Fiona eintragen: testen Sie in Fiona die wichtigsten Pfade und Funktionen. Nach Fertigstellung des Codes diesen in Fiona eintragen, nach dem nächsten Export testen.

Inhaltsverzeichnis

 

Möglichkeiten zur Integration

  1. innerhalb des CMS Fiona

    Der PHP-Code wird in eines der PHP-Felder einer Fiona-Seite eingegeben und als Dateiendung .php (anstatt .html) zugewiesen. Oder Sie laden eine PHP-Datei als Ressource in Fiona hoch und referenzieren Sie in einem der PHP-Felder. Bei dem Export wird der PHP-Code unverändert ausgegeben und kann vom Webserver ausgeführt werden. Mit dieser Methode wird die interne Linkkonsistenz von Fiona genutzt und der durch PHP generierte HTML-Code in das Design der Seite eingebettet.

    Fazit/Kommentar: Soll das Design der Seite verwendet werden, ist dies die richtige Methode. Große Anwendungen, die ihr eigenes Layout mitbringen, wie z. B. eine Forensoftware würden sich jedoch nicht in das Design einpassen.

  2. außerhalb des CMS Fiona

    Die PHP-Scripte und -Seiten werden außerhalb der exportierten Fiona-Seiten auf dem Webserver abgelegt. Aus dem Fiona-Auftritt wird dann nur auf die entsprechenden Seiten verlinkt.

    Fazit/Kommentar: Ein klarer Nachteil ist, dass die Navigation sowie das Design des Auftritts nicht verwendet werden. Für komplexe PHP-Anwendungen ist diese Möglichkeit aber unbedingt zu verwenden. Eine genaue Erläuterung lesen Sie im nächsten Abschnitt.

  3. Ersetzen einer Zeichenkette

    In Fiona selbst wird eine Seite erstellt, die im Quellcode eine festgelegt Zeichenkette enthält. Das PHP-Skript läd diese HTML-Seite und ersetzt eben diese Zeichenkette mit einer vom PHP-Code generierten Ausgabe. So wird dem Benutzer vermittelt, dass er sich immer noch innerhalb der Systems befindet.

    Fazit/Kommentar: In Anbetracht der ersten Möglichkeit wird diese Realisierung meist überflüssig sein und sollte dann nicht verwendet werden. Die Linkkonsistenz innerhalb des Fiona Redaktionssystems wird nicht benutzt. Außerdem ist u. U. mit einem Geschwindigkeitsnachteil zu rechnen.

Anwendung der ersten oder zweiten Möglichkeit

Bei dem Einbetten von PHP-Code sollten Sie sich Gedanken machen, was der Code generiert und wie dies letztendlich auf die Seite passt. Für die direkte Einbettung machen Anwendungen, wie z.B. Formularübermittlungen, durchaus Sinn. Wobei hingegen Anwendungen, die große Mengen HTML-Code generieren, z.B. Messageboards, Fotoalben, u. Ä. sicherlich nicht optisch auf die Seite passen. Hier sollte überlegt werden, solche Anwendungen außerhalb des Auftritts auszulagern.
Kurz: Generell sollte beachtet werden, dass das Layout der Seite nicht zerstört wird.

 

Lokale Besonderheiten der virtuellen Webserver: PHP.INI

Auf Ihrem virtuellen Webserver gibt es einige Besonderheiten, die insbesondere die Konfiguration des PHP betreffen.
Auf folgender Seite finden Sie Informationen zu Virtuelle Webserver des ITMC
Alle Änderungen der Konfiguration sollten Sie mit dem zuständigen Webadministrator Ihrer Organisationseinheit absprechen. Die Änderung selbst nimmt der Serveradministrator des ITMC auf Anforderung durch. Dabei nicht vergessen, Ihr Fiona-Kennzeichen c1u...., anzugeben.

 

  1. Ausführung erst nach Eintrag in "open_basedir" möglich

    Aus Sicherheitsgründen sind nicht in allen Verzeichnissen der virtuellen Webserver PHP-Codes ausführbar. Soll in Ihrem Fiona-Auftritt PHP ausgeführt werden, so muss ein Eintrag im open_basedir der PHP.INI vorgenommen werden.

  2. Einschränkungen durch Safe Mode 

    PHP läuft auf den bereitgestellten Servern standardmäßig im Safe Mode, d.h. einige Funktion sind eingeschränkt bzw. deaktiviert. Genauere Informationen zu dem Feature finden Sie in der PHP Dokumentation: Safe Mode
    Die größten Einschränkungen betreffen die Dateioperationen. Ihre PHP-Skripte dürfen lediglich Operationen auf Dateien ausführen, die die gleiche UID/GID haben, wie das aufrufende Skript. Insbesondere wird durch den Safe Mode verhindert, Scripts per include() einzubinden.

    Sind ihre Scripts durch den Safe Mode nicht lauffähig, besteht die Möglichkeit, diesen auf Kosten der Sicherheit zu deaktivieren.

  3. Zeichenkodierung 

    Je nachdem, wie Ihr Server konfiguriert ist, kann es zu Problemen mit der Zeichenkodierung kommen. Die Exporte von Fiona werden standardmäßig in UTF-8 ausgeliefert, wohingegen der PHP Interpreter auf eine andere Zeichenkodierung eingestellt sein kann.

Fehlerbehandlung

Anders als Sie es vermutlich gewohnt sind, ist PHP auf Ihrem Server so konfiguriert, dass zur Laufzeit ihres Scripts keine Fehlermeldungen ausgegeben werden.
Sie können die Standardeinstellungen mit folgenden Zeilen temporär überschreiben:

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>

 

 

Umsetzung: Einbinden von PHP-Code in den Auftritt

Möglichkeit 1.: innerhalb des CMS Fiona

fiona_dateiendung

Dies beschreibt die Anwendung der ersten Möglichkeit zur Integration.
Um die Ausführung des PHP Codes auf dem Webserver zu ermöglichen muss im Redaktionssystem Fiona die Dateiendung .php ausgewählt werden. (siehe Screenshot, rechts) Dies ist für die Vorlagen: allgemeiner Inhaltsordner, Mitarbeiter und Übersicht im Fiona Redaktionssystem möglich.
Der PHP-Code kann nun, wie normaler HTML-Code/Content, im Editor EOP des Redaktionssystems Fiona eingefügt werden. Arbeiten Sie dabei in der Quelltext-Ansicht (Auswahl im Editor: Icon in der Symbolleiste "< >")

Wie bei PHP üblich, beginnt der Bereich, in dem Code ausgeführt wird, mit der Zeichenkette <?php und endet mit ?>.

Beispiel:

<?php
//hier ist der PHP-Bereich
echo 'Hello World!';
?>

Diese Vorgehensweise, also den PHP-Code im HTML-Code einzubetten, entspricht der üblichen Vorgehensweise bei der Arbeit mit PHP. Dieses Beispiel finden Sie unterhalb dieser Seite abgelegt.

Es besteht außerdem noch die Möglichkeit, die PHP-Skripte in Fiona als Ressourcen hochzuladen. Es ist allerdings einfacher und sinnvoller, diese direkt auf den Webserver, außerhalb der Fiona-Inhalte hochzuladen. So ist eine klare Trennung von den Inhalten, die sich in das Design und der Navigation einpassen, möglich.

Möglichkeit 2.: außerhalb des CMS Fiona

Benutzen Sie einen beliebigen FTP-Client samt Ihren Zugangsdaten und laden Sie die PHP-Skripte in einen Teilbaum Ihrer Wahl hoch. Beachten Sie dabei, dass Sie per FTP keinen Zugang auf die Fiona-Inhalte selbst haben.Verlinken Sie anschließend von einer "normalen" Fiona-Seite auf die PHP-Skripte.

Bitte beachten Sie bei komplexen Anwendungen die Einschränkungen durch den Safe Mode (siehe unten).

PHP und MySQL

Mit PHP können Sie auf MySQL Datenbanken zugreifen. Im Folgenden finden Sie ein kurzes Beispiel:

<?php
$connection = mysql_connect("webstarXX.itmc.tu-dortmund.de", "Benutzername","Passwort"); //Verbindung herstellen
mysql_select_db("Datenbankname"); //Datenbank auswählen
$query = "SELECT * FROM tabelle"; //SQL Anfrage erstellen
$result = mysql_query($query); //SQL Anfrage ausführen
echo "<table>\n";
while($row = mysql_fetch_object($result)) { //alle Zeilen der Antwort durchlaufen
    echo "<tr>\n";
        foreach($row as $col) {
            echo "<td>".$col."</td>\n";
        }
    echo "</tr>\n";
}
echo "</table>\n";
mysql_close($connection); //Verbindung beenden
?>

Mit dem Funktionsaufruf mysql_connect stellen Sie eine Verbindung mit dem MySQL Server her. Das erste Argument des Aufrufs ist die Adresse des Servers (hier webstarXX.itmc.tu-dortmund.de (wobei XX für eine zweistellige Zahl steht), muss durch Ihre Serveradresse ersetzt werden), das zweite und dritte Argument ist der Benutzername sowie das Passwort. Anschließend wird durch den Funktionsaufruf mysql_select_db die Datenbank ausgewählt. Für die SQL Anfrage wurde hier die fiktive Tabelle mit dem Namen tabelle verwendet.