PHP-Code in HTML einbinden

Hier werden verschiedene Möglichkeiten getestet, wie PHP-Befehle in HTML eingebunden werden können.

Schreibweise Standard- Konfiguration Lokal Name der Schreibweise, Bemerkungen Empfehlung
<?php echo "Hallo Welt!"; ?> Ja QC Standard-Schreibweise ("XML-Stil")
Wird bei allen Providern unterstützt.
Führt ggf. zu Problemen bei lokaler Bearbeitung der Dateien.
Wird im PHP-Manual als Standard-Schreibweise empfohlen.
<script language="php">
echo "Hallo Welt!";
</script>
Ja (bis PHP 5.6) OK "Script-Tags" / "JavaScript-Stil"
Wird bis PHP 5.6 bei allen Providern unterstützt.
Ist ab PHP 7.0 nicht mehr erlaubt!
nicht mehr verwenden!
<? echo "Hallo Welt!"; ?> Nein QC Short Tags / "SGML-Stil"
Führt ggf. zu Problemen bei lokaler Bearbeitung der Dateien.
Nur einsetzbar, sofern vom Provider unterstützt (standardmässig ausgeschaltet).
Nicht empfohlen.
<% "Hallo Welt!"; %> Nein QC "ASP-Stil"
Führt zu Problemen bei lokaler Bearbeitung der Dateien.
Wird von den meisten Providern nicht unterstützt.
Ist ab PHP 7.0 nicht mehr erlaubt!
nicht mehr verwenden!

Legende zu den Resultaten:

Ja funktioniert in der Standard-Konfiguration von PHP.
Nein funktioniert nicht in der Standard-Konfiguration von PHP.
OK bei lokaler Betrachtung wird nichts angezeigt (=besser), WYSIWYG-Editoren lassen den Quellcode eher in Ruhe.
QC bei lokaler Betrachtung wird in gewissen Browsern z.T. Quellcode angezeigt (=schlechter), WYSIWYG-Editoren zerstören evtl. den Quellcode.
ERROR bei einem standardmässig konfigurierten Server gibt diese Schreibweise einen Parse-Error.

Probleme mancher Schreibweisen

Probleme bei lokaler Bearbeitung

Manche Probleme treten nur dann auf, wenn man HTML-Dateien mit PHP-Elementen auf dem eigenen Rechner speichert, anzeigt und bearbeitet:

Ausführliche Beschreibung der Probleme bei lokaler Bearbeitung...

Probleme wegen Server-Konfiguration

Gewisse Schreibweisen werden vom Webserver nur interpretiert, wenn der PHP-Parser entsprechend eingestellt ist.
Die Schreibweise "ASP-Stil" (<% PHP-Befehl %>) z.B. wird von den meisten Webservern nicht unterstützt.
Wenn der Webserver einen PHP-Befehl nicht interpretiert, so gelangt der PHP-Quellcode an den Browser, und der weiss nichts damit anzufangen. Dann hat man das gleiche Problem wie beim lokalen Betrachten.

Aktuelle Empfehlung: Standard-Schreibweise

Verwenden Sie die standardmässige Schreibweise:
<?php echo /* PHP-Befehle */ ?>

Bisherige, veraltete Empfehlung (bis PHP 5.6): SCRIPT-Schreibweise

Bis und mit PHP 5.6 empfahl ich, immer die folgende Schreibweise einzusetzen:
<script language="php">
   /* PHP-Befehle */
</script>

Begründung:

Nachteil: Diese Schreibweise funktioniert nur bis PHP 5.6; ab PHP 7.0 ist sie nicht mehr erlaubt!


Siehe auch: Kurze Testseite mit ungeparstem PHP-Quellcode.

<= Zurück zum Inhaltsverzeichnis PHP + SSI

Thomas Lüthi, info@tomogramm.ch Letzte Änderung: 25.08.2017