j4nk3y: PHP in HTML

Beitrag lesen

Moin!

<form name="form21" method="post" action="myFormMail.php">
<body>
   <?php
      echo("<center>P H P</center>");
   ?>
</body>

müsste es nicht im myFormMail.php heißen:

echo "<body><center>P H P</center></body>";

Nein, muss nicht. HTML und PHP zu mischen ist möglich.

Natürlich ist das möglich, mach ich ja auch die ganze Zeit. Da stehen ja auch nur die Body Elemente mit im echo. Die ausgabe verändert sich ja nicht, sieht nur richtiger aus finde ich, da ja <body> nicht zu php gehört.

und eingebunden würde das doch so:

<?php include('myFormMail.php')?>

Nein, auch nicht zwingend. Von einem Formular aus ein PHP-Skript aufrufen, welches die Formulardaten entgegennimmt, funktioniert wie in der Frage beschrieben.

Ja aber er schickt ja keine Daten an das Formular. Dementsprechend find ich das hier überflüssig, außer er will die Ausgabe des echos haben wenn die Variablen die er (noch nicht ge)schickt (hat) leer sind.

Wenn man per <form> method="post" </form> ein dokument.php einbindet heisst das ja noch nicht das, das dokument.php irgendetwas getan hat, sondern nur das du diesem Werte schicken kannst mit denen es etwas tun kann.

So soll das ja auch sein.

Sag ich ja. Obwohl kleiner Zusatz in der nächsten Antwort.

Somit sollte in dem Fall auch keine Ausgabe von myFormMail.php in deinem html Dokument erscheinen.

Wenn man das Formular abschickt, schon.

Wie mir eben aufgefallen ist, tut das Formular doch schon was auch wenn es nocht nicht abgeschickt wurde. Nämlich zu dem Zeitpunkt wo es durch das laden des html Dokumentes eingebunden wird und die zu schickenden Variablen noch leer sind.

Zudem beginnt dein php code erst vor dem echo, sprich das body element erkennt php garnicht (als html schon).

HTML-Seiten, die keinerlei PHP-Code enthalten, aber aufgrund der Dateiendung ".php" durch den PHP-Interpreter laufen, sind vollwertige PHP-Skripte.

Ja dem kann ich nur zustimmen, wundere mich eigentlich nur warum der html code trotzdem von Browsern ohne entsprechende Einleitung erkannt wird. Macht für mich irgendwie keinen Sinn wenn man einem .html dokument sagen muss was php oder js code ist aber in einem .php Dokument nicht sagen muss was html code ist.

Gruß Jo