Wieso kann ich diesen einfachen PHP Code nicht in Html einbetten?
Hallo, ich versuche gerade eine HTML Seite zu erstelle und habe gelesen, dass man PHP ganz einfach einbetten kan mit "<?php ?>". Ich habe den Webserver (Apache) in Xampp aktiviert und die HTML Datei in Htdocs gespeichert. Trotzdem kommt der PHP Echo Command nicht durch. Hat jemand eine Idee wieso?
3 Antworten
Zunächst einmal: Ist dir bewusst, dass du hier einen veralteten Standard (HTML4) nutzt? <!DOCTYPE html> reicht aus.
Dann das hier. Du solltest deine Datei in UTF-8 speichern und auch das charset im Head auf UTF-8 setzen. Dann musst du auch nicht mehr diese Entity-Codes nutzen.
Im Head fügst du Folgendes ein:
<meta charset="utf-8">
Nun zu deinem Problem. Zunächst einmal sollte deine Datei mit .php enden, damit sie vom Webserver auch als solche erkannt wird und dann auch ausgeführt wird. PHP-technisch sollte das aber funktionieren.


Danke Leute, ich hab jetzt gleich mehrere Sachen umgeändert und es geht jetzt! Vielleicht waren es nur die Backticks oder eine Kombination aber wie dem auch sei jetzt kann ich weiterarbeiten (:
Danke für die Tipps. Ich brauche ja eine HTML-Datei um sie im Webbrowser einzugeben. Die Speicher ich dann als Pflanzenart.html in htdocs ab. Dann brauche ich eine selbe Datei (?) mit .php Format. Hab ich das richtig verstanden, dass man das so macht?
Du brauchst nur eine einzige Datei. Benenne die Pflanzenart.html in Pflanzenart.php um. PHP-Code wird vom Webserver nur bei Dateitypen interpretiert, bei denen er weiß, dass er sie interpretieren soll. Typischerweise gehören php-Dateien dazu.
Bei Auswertung einer PHP-Datei generiert der Webserver das komplette HTML-Dokument und schickt es an den Client.
Wie wäre es mit Pflanzenarten.php?
Wenn ich das in die Suchleiste eingebe (http://localhost/Pflanzenart.php) kommt die Meldung: Parse error: syntax error, unexpected 'World' (T_STRING), expecting ';' or ',' in C:\xampp\htdocs\Pflanzenart-html.php on line 19
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Pflanzenart</title>
</head>
<body>
<body bgcolor="#7FFFD4">
<h1>Bitte wähle deine Pflanze aus:</h1>
<?php
echo ’Hello World!’;
?>
</body>
</html>
Deine Anführungsstriche um Hello World! herum waren falsch.
Das muss so heißen
echo "Hello World!"; // oder 'Hello World'
Tatsächlich dachte ich mir das auch schon, aber soweit ich weis kann man beide Varianten verwenden. Aufjedenfall wird es auf beide Arten nicht angezeigt.
Einfach und doppelte gehen. Aber es gehen keine Backticks wie in deinem Code ’
Ich glaube das war der Fehler, Danke! Es geht jetzt
Das zweite Body gehört zu BG colour. Das andere öffnet den Body Teil.
Wieso sollen die Anführungszeichen falsch sein.
' wird verwendet wenn reiner Text kommt.
" wird verwendet wenn innerhalb des Texts auch Variablen kommen dann erspart man sich den komplizierten Konstrukt mit 'Text1'.$variable.'Text2'
Hier wäre es egal mit " ist es halt nur langsamer als mit '
2 mal Body ist definitiv falsch.
Du brauchst auch kein 2. Um Farben zu setzen.
Es gibt nur einen Body.Übrigens:
Wenn du deinen Code online stellst kannst du ihn mit HTML Validierung prüfen lassen
Heißt die Datei denn auch .php ?
Sonst kann es nicht funktionieren wenn die Datei .HTML heißt!
Wenn er den Doctype so ändert, wie du es empfiehlst, macht er sein Dokument postwendend invalid. Das bgcolor-Attribut gehört nicht zum HTML5-Standard.