PHP und HTML?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.

Woher ich das weiß:Berufserfahrung – Web Developer bei einem mittelständischen Portalbetreiber
Lorenz759 
Fragesteller
 08.08.2023, 11:35

Wie genau?

0
Lorenz759 
Fragesteller
 08.08.2023, 16:31
@LeBonyt

Hab xampp am PC schon installiert, wie starte ich xampp erneut, also wenn ich es geschlossen hab?

0

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.

Woher ich das weiß:Berufserfahrung – Entwickle Webseiten seit über 25 Jahren.
Lorenz759 
Fragesteller
 07.08.2023, 11:06

Wie binde ich das PHP Script in das HTML Dokument ein?

0
Babelfish  07.08.2023, 11:40
@Lorenz759

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.

1
Lorenz759 
Fragesteller
 07.08.2023, 14:40
@Babelfish

Also muss die Endung von deinem Script .PHP sein, hat aber HTML Code dabei?

0
Lorenz759 
Fragesteller
 07.08.2023, 15:40
@Babelfish

Wie kann ich das Anmeldeformular einbinden, dass ich es erreiche? Z.B wie bei Newsletter Anmeldungen oder so

0
Babelfish  07.08.2023, 17:33
@Lorenz759

Verstehe ich nicht. Du kannst doch einfach einen Link auf die Seite setzen. Das ist simples HTML:

<a href="anmeldung.php">Newsletter Anmeldung</a>
0
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; ?>
Woher ich das weiß:Studium / Ausbildung

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

Lorenz759 
Fragesteller
 07.08.2023, 10:14

Wie muss ich die echo Anweisung in den HTML Code platzieren?

0
iQa1x  07.08.2023, 10:15
@Lorenz759

Du kannst auch einfach im HTML schreiben:

Heuer haben wir das Jahr <?php echo $jahr ?>.
0
Waldi2007  07.08.2023, 10:16
@Lorenz759

Ich benutze das PHP-Skript, um mittels "echo" den kompletten HTML-Code auszugeben

0
Waldi2007  07.08.2023, 10:17
@iQa1x

Ich persönlich mag diesen Mix aus HTML-und PHP-Code nicht sonderlich, gerade bei größeren Sachen geht mir das doch sehr auf die Lesbarkeit...

Und funktionieren wird das wohl eher nicht...

1
Lorenz759 
Fragesteller
 07.08.2023, 10:20
@Waldi2007

Kannst du mir einen Beispiel Code schicken, wie du das Formular in PHP ausgibst?

0
iQa1x  07.08.2023, 10:23
@Waldi2007

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.

0
Waldi2007  07.08.2023, 10:25
@Lorenz759

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;
?>
0
Lorenz759 
Fragesteller
 07.08.2023, 10:15

Ich will aber die echo Anweisung im HTML Code platzieren

0
SuperAcht  07.08.2023, 10:22
@Lorenz759

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

0
SuperAcht  07.08.2023, 10:28
@Lorenz759

<?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

0
Babelfish  07.08.2023, 14:39
@SuperAcht
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.

0
SuperAcht  09.08.2023, 11:34
@Babelfish
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.

0
Babelfish  09.08.2023, 12:13
@SuperAcht

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.

0