PHP in HTML

Abhängig von der Dateiendung, unter der ein Dokument auf dem Webserver gespeichert ist, werden die auf einem Webserver gespeicherten Dateien entsprechend behandelt. Normalerweise werden Dateien mit den Endungen .php, .php3 oder .phtml verwendet, wenn diese PHP-Code enthalten. Allerdings können Sie auch für Dateien mit einer anderen Endung festlegen, dass der in diesen Dateien enthaltene PHP-Code interpretiert wird. Einstellen können Sie dies mit der AddType-Direktive in der .htaccess-Datei im Hauptverzeichnis Ihres Webspaces. Die Zeile „AddType application/x-httpd-php .php .phtml .html” in der .htacces-Datei legt beispielsweise fest, dass Dateien mit der Endung .php, .phtml und .html vom PHP-Interpreter berücksichtigt werden sollen. Auf diese Weise wird auch bei Dateien, welche die Endung .html tragen, enthaltener PHP-Code berücksichtigt und ausgeführt.

Der PHP-Parser liest Dateien mit den laut Konfiguration vorgegebenen Endungen – es handelt sich hierbei um normale Textdateien – ein und interpretiert die für ihn gekennzeichneten Stellen, während der restliche Inhalt der Datei so ausgegeben wird, wie er in der Datei steht. PHP-Code kann für den Interpreter auf vier verschiedene Weisen kenntlich gemacht werden. An dieser Stelle sollen allerdings nur zwei Varianten beschrieben werden, da diese keine weiteren Voraussetzungen bzgl. der Konfiguration des PHP-Systems (in der Konfigurationsdatei php.ini) benötigen.

Die erste – und zugleich wichtigste – Variante ist die Kapselung des PHP-Codes in einem Tag-Konstrukt der Form <?php ... ?>. Innerhalb dieses Bereichs können Sie das PHP-Script formulieren. Diese Variante ist zugleich die einzige Möglichkeit der Kennzeichnung von PHP-Code innerhalb von XML- oder XHTML-Dokumenten.

Als zweite Variante ist die des Einbettens von PHP-Code mit dem Script-Tag zu nennen. Diese ähnelt der Integration von JavaScript Code in HTML. Auch hier wird das Script-Tag im HTML-Dokument notiert, wobei in diesem Falle – anders als bei JavaScript, wo die Language-Eigenschaft mit JavaScript angegeben wird – in der Eigenschaft Language des Script-Tags der Wert PHP notiert wird. Hierdurch wird der PHP-Interpreter dazu bewegt, den innerhalb des Blocks notierten Text als PHP-Code auszuführen bzw. diesen zu parsen und entsprechend zu interpretieren.

PHP Code Beispiel 1: PHP Script in HTML

Folgendes Beispiel zeigt die Integration von PHP-Code nach der erstgenannten Variante. In diesem Codeblock wird ein vollständiges HTML-Dokument erzeugt, welches zunächst mit den Kopfdaten beginnt. Nach dem Body-Tag beginnt der PHP-Code, welcher durch das öffnende PHP-Tag (die Zeichenkette „<?php”) eingeleitet wird. Alle darauf folgenden Zeilen werden – bis zum Schließen des Script-Bereichs durch das String „?>” – vom PHP-Interpreter geparst und dementsprechend interpretiert. Nachdem das PHP-Tag geschlossen ist folgt wiederum normaler HTML-Code – der Interpreter gibt diese Zeilen eins zu eins aus und leitet die Ausgabe an den Browser (Client) weiter.

<html>
    <head>
        <title>Seitentitel</title>
    </head>
    <body>
    <?php
        // Alles, was jetzt kommt wird bis zum unteren, schliessenden
        // Tag als PHP-Code interpretiert.
        // Die nächste Zeile dient der Ausgabe der URL des derzeit in
        // Ihrem Browser angezeigten HTML-Dokuments.
        echo 'URL: http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
        // Ausgabe von HTML-Code (Tags) ist auch möglich
        // (Hier wird ein Zeilenumbruch mit dem HTML-BR-Tag ausgegeben)
        echo '<br>';
        // Ausgabe des aktuellen Datums
        echo 'Heute ist der ' . date ('d.m.Y');
    ?>
    </body>
</html>

PHP & HTML Beispiel 2: HTML Code in PHP einbetten

Im nächsten Beispiel soll gezeigt werden, wie normaler HTML-Code innerhalb der Kontrollstruktur eines PHP-Scripts ausgegeben werden kann. An beliebiger Stelle im PHP-Code kann die Verarbeitung des PHP-Scripts durch ein schließendes PHP-Tags ausgesetzt und später durch ein öffnendes PHP-Tags wieder aufgenommen werden. Das unten stehende PHP-Script definiert die Variable licht_an, welches zur Speicherung des Status einer virtuellen Glühbirne dient. Weiter unten wird der Inhalt dieser Variable mit einer If-Anweisung abgefragt und damit entschieden, welcher Teil des Programms ausgeführt werden soll. Liefert die Abfrage den Wert TRUE – wie zu erwarten, da dieser Wert im Script vorher gesetzt wird – so wird der nach der Abfrage notierte (geklammerte) Block ausgeführt.

Innerhalb des geklammerten Blocks wird die Verarbeitung von PHP-Code ausgesetzt und das hier notierte Span-Tag wird ohne weitere Verarbeitung ausgegeben. Mit dem darauf folgenden PHP-Tag tritt wieder die PHP-Verarbeitung in Kraft und das dort stehende Else wird wieder interpretiert. Gleiches geschieht auch im Else-Teil der If-Anweisung, der abgearbeitet wird, wenn der Inhalt der Variable licht_an FALSE ist.

<?php
    // Variable zur Steuerung der Ausgabe initialisieren
    $licht_an = TRUE;
    // Der Status des Lichtschalters entscheidet darüber, welche
    // Ausgabe erfolgt.
    if ($licht_an) {
    ?>
        <span style="color:red;">Lampe brennt!</span>
    <?php
    }
    else {
    ?>
        <span style="color:green;">Lampe ist aus!</span>
    <?php
    }
?>

PHP & HTML Code Beispiel 3: PHP in HTML integrieren

Die zweite Variante der Integration von PHP-Code in eine HTML-Seite wird im nächsten Script-Beispiel demonstriert. Im Prinzip ist das Dokument strukturiert, wie ein normales HTML-Dokument. Der PHP-Interpreter interpretiert alles, was zwischen dem Öffnenden und dem Schließenden Script-Tag steht als PHP-Code. Zu beachten ist hier, dass die Language-Eigenschaft des Script-Tags mit „php” belegt sein muss. Fehlt diese Angabe, so wird der Inhalt des Script-Tags, wie er dort geschrieben steht, an den Browser weitergeleitet und dieser versucht das Script seinerseits zu interpretieren, was mit entsprechenden Fehlern quittiert wird.

<html>
    <head>
        <title>Seitentitel</title>
    </head>
    <body>
        <script language="php">
            // Hier folgen die selben Zeilen (abgesehen von den Kommentaren),
            // wie im ersten Beispiel und das resultierende Dokument liefert
            // die selbe Ausgabe im Browserfenster.
            echo 'URL: http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
            echo '<br>';
            echo 'Heute ist der ' . date ('d.m.Y');
        </script>
    </body>
</html>

¬ Tutorials



¬ Insolvenzrecht