Navigation
 Startseite
 Fachbücher
 Anzeigenmarkt
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Webhoster Vergleich
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 Unit Test Generator
 TLD Liste
 Webkatalog‑Verzeichnis

Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
 
 
 

Einführung in PHP: PHP-Code in HTML einbauen

Sie befinden sich: Home > Php > Einführung in PHP: PHP-Code in HTML einbauen

In diesem Kapitel geht es darum, wie PHP überhaupt in eine HTML-Seite kommt und welche Schritte nötig sind, damit aus Ihrem Code eine fertige Webseite wird. Wer noch keinen Webserver am Laufen hat, sollte vorher kurz den Artikel zu XAMPP oder zu PHP mit Docker lesen, denn ohne lokale Umgebung wirst Sie keine PHP-Datei testen können.

Wie der Browser zu Ihrem PHP-Ergebnis kommt

Eine reine HTML-Seite landet ohne Umweg im Browser. Der Server liefert die Datei genau so aus, wie Sie sie geschrieben hast. Bei einer PHP-Datei ist ein zusätzlicher Schritt zwischengeschaltet: Der PHP-Parser lesen die Datei, ersetzen jeden PHP-Block durch seine Ausgabe und sendet erst danach das Ergebnis an den Browser. Im Quelltext im Browser ist dadurch nie PHP zu sehen, sondern immer fertiges HTML.

flowchart TD
    A[Browser fragt .php an] --> B[Webserver]
    B --> C[PHP-Parser]
    C --> D{PHP-Block?}
    D -- ja --> E[Code ausfuehren]
    E --> F[HTML zusammenbauen]
    D -- nein --> F
    F --> G[Fertiges HTML]
    G --> B
    B --> A

Damit dieser Mechanismus funktioniert, müssen Sie nur zwei Dinge sicherstellen: Die Datei endet auf .php und liegt in einem Verzeichnis, das vom Webserver mit PHP ausgeführt wird.

Welche PHP-Tags Sie wirklich nutzen solltest

PHP-Code muss in einer HTML-Datei eindeutig markiert sein, damit der Parser ihn erkennt. Dafür gibt es drei Schreibweisen, von denen heute nur eine die richtige Wahl ist.

Die einzige Variante, die Sie brauchen

Die Standardform setzen sich aus <?php und ?> zusammen. Diese Form funktioniert auf jedem Server und ist seit den ersten PHP-Versionen stabil:

<?php
echo 'Hallo Welt';
?>

Beim Aufruf wird der Browser nur das Wort „Hallo Welt“ sehen. Den Tag selbst sieht er nie.

Wenn die Datei nur PHP enthält

Bei reinen PHP-Dateien, also Dateien ohne HTML drumherum, ist es Konvention, das schließende ?> wegzulassen. Das verhindert ein häufiges Problem mit unsichtbaren Leerzeichen am Dateiende, die später zu „Headers already sent“-Fehlern führen können.

<?php
declare(strict_types=1);

function begruessung(string $name): string
{
    return 'Hallo, ' . $name . '!';
}

echo begruessung('PHP-Space');

Was Sie nicht mehr nutzen solltest

Es gibt noch zwei alte Schreibweisen, die Sie in alten Tutorials oder uralten Codebasen finden. Beide sind heute eine schlechte Idee:

  • <? ... ?> (Short Tags). Funktioniert nur, wenn short_open_tag in der php.ini aktiv ist. Auf vielen Webhostern ist sie deaktiviert, Ihr Code würde dort einfach im Quelltext landen.
  • <% ... %> (ASP-Style). Wurde mit PHP 7.0 komplett entfernt und funktioniert nirgends mehr.

Halten Sie sich an <?php ?>, dann läuft Ihr Code überall, wo PHP überhaupt installiert ist.

PHP und HTML mischen

Im Alltag steht PHP selten allein. Meistens ist es in HTML eingebettet, etwa um eine dynamische Begrüßung anzuzeigen oder um Inhalte aus einer Datenbank in eine Tabelle zu schreiben. Sie können PHP-Blöcke beliebig oft in eine Datei einsetzen.

<!DOCTYPE html>
<html lang="de">
<head><meta charset="utf-8"><title>Mein erstes PHP</title></head>
<body>
    <h1>Hallo PHP-Space</h1>
    <p>Es ist gerade <?php echo date('H:i'); ?> Uhr.</p>

    <ul>
    <?php
    $sprachen = ['PHP', 'JavaScript', 'Go', 'Python'];
    foreach ($sprachen as $sprache) {
        echo '<li>' . htmlspecialchars($sprache) . '</li>';
    }
    ?>
    </ul>
</body>
</html>

Wichtig dabei: Wer Daten in HTML ausgibt, sollte sie immer durch htmlspecialchars() schicken. Das verhindert, dass Sonderzeichen den HTML-Code zerstören oder Angreifer Schadcode einschleusen.

Speichern, ablegen, aufrufen

Eine PHP-Datei muss eine bestimmte Endung haben und an der richtigen Stellen Sie liegen, sonst wird sie vom Server entweder ignoriert oder als reiner Text angezeigt.

  • Endung .php. Eine Datei kontakt.html wird als HTML behandelt, eine Datei kontakt.php wird vom Parser ausgewertet.
  • Im Webserver-Verzeichnis. Bei XAMPP ist das standardmäßig htdocs, bei Docker das in der Konfiguration festgelegte Volume.
  • Aufruf über den Webserver, nicht per Doppelklick. http://localhost/kontakt.php funktioniert. file:///.../kontakt.php nicht.

Ihr erstes komplettes Skript

Hier ist ein vollständiges Beispiel, das alle bisher genannten Punkte vereint. Speichern Sie die Datei als begruessung.php im htdocs-Verzeichnis und rufe sie im Browser auf.

<?php
declare(strict_types=1);

$name = 'PHP-Space';
$jetzt = date('H:i');

if ((int) date('H') < 12) {
    $gruss = 'Guten Morgen';
} elseif ((int) date('H') < 18) {
    $gruss = 'Guten Tag';
} else {
    $gruss = 'Guten Abend';
}
?>
<!DOCTYPE html>
<html lang="de">
<head><meta charset="utf-8"><title>Begruessung</title></head>
<body>
    <h1><?= htmlspecialchars($gruss) ?>, <?= htmlspecialchars($name) ?>!</h1>
    <p>Es ist <?= $jetzt ?> Uhr.</p>
</body>
</html>

An diesem Beispiel sehen Sie gleich mehrere wichtige Bausteine: Eine Variable, die date()-Funktion, die if-Anweisung mit elseif und die kurze Echo-Schreibweise <?= ?>, die einfach „<?php echo ?>“ abkürzt und seit PHP 5.4 immer aktiv ist.

Häufige Stolpersteine am Anfang

Wenn das erste Skript nicht läuft, liegt es fast immer an einer dieser Kleinigkeiten:

  • Der Browser zeigt nur den Quelltext. Dann läuft die Datei nicht durch den PHP-Parser. Prüfe Endung und Aufruf-URL.
  • Eine weiße Seite. Schalte das Error-Reporting ein und schau in die Logs. Hilfe dazu liefert der Artikel zu error_reporting().
  • „Headers already sent“. Meist ein Leerzeichen oder eine Zeile vor dem ersten <?php. Datei ohne BOM speichern und das schließende ?> in reinen PHP-Dateien weglassen.
  • Variablen sind nicht gefüllt. Sieh sich mit var_dump() an, was wirklich drinsteht.

Welche Schritte als nächstes lohnen

Mit dem, was Sie jetzt wissen, können Sie den nächsten Schritt gehen. Diese Themen bauen logisch aufeinander auf:

  1. Variablen verstehen, denn ohne sie geht in PHP nichts.
  2. Mit echo und print Inhalte gezielt ausgeben.
  3. Datum und Uhrzeit mit date() formatieren.
  4. Mit der if-Anweisung Bedingungen prüfen.
  5. Mit Schleifen wie for, while und foreach Wiederholungen elegant lösen.
  6. Eigene Funktionen definieren.
  7. Mit Arrays Listen verwalten.
  8. Daten aus Formularen entgegennehmen.

Klassisches Beispiel zum Vergleich

Damit Sie auch alte Schreibweisen wiedererkennen, hier das ursprüngliche Einstiegsbeispiel dieser Seite. Es funktioniert weiterhin, ist aber nicht mehr das, was man heute schreiben würde:

<?php
$test = "Das ist unser erster PHP-Befehl!";
echo $test;
?>

Auffällig: keine Typdeklaration, kein declare(strict_types=1), einfache Anführungszeichen wären ausreichend gewesen, das schließende ?> ist in einer reinen PHP-Datei unnötig. Für ein erstes Lebenszeichen reicht es trotzdem aus.

Wer von hier aus tiefer einsteigen will, findet in unserer Tutorial-Übersicht hunderte einzelne Tutorials zu spezifischen Funktionen. Die offizielle Dokumentation liegt unter php.net/manual/de.




weiter zum nächsten Kapitel: PHP Variablen und ihre Verwendung