PHP und HTML?
Wie kann ich eine PHP variable in einem normalen HTML Fließtext ausgeben? Z.B ich habe die PHP variable $jahr = date('Y'); und möchte das Datum zu dem Text "Heuer haben wir das Jahr + 'Jahreszahl' " wie mache ich das? Lg
5 Antworten
Nochmal zur Verdeutlichung: Der php Code wird in aller Regel nur ausgeführt, wenn die Dateiendung '.php' ist. Dann muss auch der Server entsprechend konfiguriert sein und einen PHP Interpreter eingebaut haben. Dann müsste es klappen. Du kannst mit einer XAMPP Installation das auch auf deinen Rechner lokal testen.
Gehe mal auf diese Seite.
https://www.apachefriends.org/de/index.html
Dort kannst du dir das Paket herunterladen. Dann startest du deinen Service den Apacheserver mit eingebauten PHP über ein kleines Programm. Und rufst dann https://localhost im Browser. auf. Und dann erscheinen im die weiteren Schritte.
Geht doch ganz einfach:
<?php
$jahr = date('Y');
?>
…
<p>Das Jahr <?= $jahr ?> ist schön.</p>
Natürlich muss dein Dokument dann auch ein PHP-Script sein und üblicherweise die Wendung .php haben.
Gar nicht. Ich habe doch schon geschrieben, dass das ganze Dokument ein PHP-Script sein muss. Also als minimales Beispiel so:
beispiel.php (Dateiendung muss .php sein)
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>Beispiel</title>
</head>
<body>
<?php
$jahr = date('Y');
?>
<p>Das Jahr <?= $jahr ?> ist schön.</p>
</body>
</html>
Ein PHP-Script kann auch einen reine HTML-Datei sein, sofern keine <?php oder <?= darin enthalten sind. PHP interpretiert nur den Teil, der entsprechenden gekennzeichnet ist und gibt den Rest unverändert aus.
Also muss die Endung von deinem Script .PHP sein, hat aber HTML Code dabei?
Wie kann ich das Anmeldeformular einbinden, dass ich es erreiche? Z.B wie bei Newsletter Anmeldungen oder so
Verstehe ich nicht. Du kannst doch einfach einen Link auf die Seite setzen. Das ist simples HTML:
<a href="anmeldung.php">Newsletter Anmeldung</a>
Heuer haben wir das Jahr <?= date('Y') ?>.
Wenn du das Jahr mehrfach verwendest, solltest du es in einer Variable abspeichern.
<?php
$jahr = date('Y');
?>
Heuer haben wir das Jahr <?= $jahr ?>. Letztes Jahr war <?= $jahr - 1 ?>, nächstes Jahr ist das Jahr <?= $jahr + 1 ?>.
Wenn du die mathematischen Operationen innerhalb PHP mit Text verknüpfen willst, musst du sie außerhalb des PHP-Strings in Klammern stellen.
<?php
$jahr = date('Y');
echo "Heuer haben wir das Jahr $jahr. Letztes Jahr war " . ($jahr - 1) . ', nächstes Jahr ist das Jahr ' . ($jahr + 1) . '.';
Moin Lorenz759,
das geht nur wenn die Datei eine PHP-Datei ist die dann eine HTML-Seite generiert/rendert. PHP-Dateien geben in dem meisten Fällen eine zusammengesetzt HTML-Seite aus.
In deine PHP-Datei schreibst du folgendes:
<?php $year = date('Y'); echo "uer haben wir das Jahr ".$year; ?>
In PHP gibt es die "echo" anweisung, also z.B.
echo "Heuer haben wir das Jahr $jahreszahl";
Geht so übrigens auch über die Konsole, da würde ich aber eher
echo "Heuer haben wir das Jahr $jahreszahl\n";
schreiben, wegen des Zeilenumbruchs
Wie muss ich die echo Anweisung in den HTML Code platzieren?
Ich benutze das PHP-Skript, um mittels "echo" den kompletten HTML-Code auszugeben
Kannst du mir einen Beispiel Code schicken, wie du das Formular in PHP ausgibst?
Solange $jahr davor irgendwo festgelegt wurde, also das
<?php $jahr = date('Y'); ?> irgendwo davor steht, sollte das gehen.
Für größere Sachen verwende ich auch ein Template-System, damit es übersichtlicher wird. Ich finde den Mix zum Variablen ausgeben aber bei kleineren Sachen übersichtlicher, als das ganze HTML mit "echo" auszugeben.
Ich probiers mal:
<?php
#Aktuelles Jahr ermitteln
$time = localtime();
$jahreszahl = $time[5];
#Methode 1
echo "<html><body>";
echo "Heuer haben wir das Jahr $jahreszahl";
echo "</body></html>"
#Methode 2
echo <<<HTM
<html><body>
Heuer haben wir das Jahr $jahreszahl
</body></html>
HTM;
?>
in html garnicht.. du packst das html und deine variable mit php zusammen.. andersherum kannst du nur <html><?php echo variable; ?></html>.. ist aber ziemlich kacke das so zu machen, dafür gibt es meistens haue
nutze eine template-engine und problem und andere gelöst
<?php
echo "<html>".$varname."</html>";
?>
wie geschrieben nutze eine template engine, die hilft dir z.b. objekte durchzuiterieren und im html als liste ioder tabelle o.ä. darzustellen
ist aber ziemlich kacke das so zu machen, dafür gibt es meistens haue
Ne, da gibt es keine „Haue“. Das ist nämlich genau das, wofür PHP mal erstellt wurde und richtig eingesetzt ist das viel übersichtlicher als echo-Orgien mit HTML-Code.
wofür PHP mal erstellt wurd
ja vor 30 jahren.. seitdem hat sich dir uhr etwas weitergedreht. zumal deine aussage nicht zu meiner kommentar passt.
Daran hat sich in 30 Jahren nichts geändert. PHP kann mittlerweile zwar viel mehr und ist längst eine ausgewachsenen Programmiersprache geworden, die Möglichkeiten als Template-System sind jedoch weiterhin da und es gibt keinen Grund, die nicht zu nutzen. Nicht umsonst wurden zum Beispiel der short echo tag <?= mittlerweile per Default aktiviert, wo er früher standardmäßig deaktiviert war.
Und warum das nicht zu deinem Kommentar passen sollte, verstehe ich nicht. Meine Aussage bezieht sich genau auf deine.
Wie genau?