PHP in einer HTML Datei einbauen?

3 Antworten

Ganz Einfach

Die Datei von HTML in .php umbenennen

Danach PHP Code einbauen.

Senden dann einfach auf gleiche Seite und erst Daten Auswerten und danach die aktuelle Seite darunter aufbauen.

Das meiste bleibt ja im HTML Code und was berechnet werden muss wird mit PHP berechnet und als Echo ausgegeben!

Woher ich das weiß:Berufserfahrung
bubbIes  14.01.2023, 20:51

🌝

0

Wenn du dich nur auf HTML und PHP beschränkst, kannst du eine Datenverarbeitung nur mit zwischenseitigen Neuladen der Webseite lösen.

Beispiel:

<!doctype html>
<head>
  <title>Example</title>
  <meta charset="utf-8">
</head>
<body>
  <form>
    <input name="data">
    <input type="button">
  </form>
  <?php if (isset($_POST['data'])): ?>
    <p>Input was: <?= htmlspecialchars($_POST['data']) ?></p>
  <?php endif; ?>
</body>

Zur Dateneingabe gibt es ein Formular mit Eingabefeld. Sobald der Nutzer den Button anklickt, wird ein Request an dieselbe URL verschickt, auf der sich der Nutzer derzeit befindet. Im Request Body befinden sich die Eingabedaten.

Der PHP-Block unter dem Formular prüft bei jedem Seitenaufruf, ob im Request Body ein Parameter data existiert. Das wäre nach Formularversand der Fall. Dann würde der Wert des Parameters auch in einem Paragraph ausgegeben werden.

Du kannst so viele Formulare in deinem HTML-Dokument einbinden, wie du möchtest. Um zwischen den verschickten Daten zu unterscheiden, solltest du jedoch darauf achten, individuelle Werte für deine name-Attribute zu wählen.

Das zwischenzeitliche Neuladen der Seite kannst du hingegen nur mit JavaScript umgehen. Entweder du verarbeitest die Nutzereingaben direkt mit JavaScript und lässt PHP dafür aus oder du schickst die Daten mit JavaScript an ein PHP-Skript und verwertest anschließend dessen Response.

Ein Beispiel zu erstgenannten Szenario:

<!doctype html>
<head>
  <title>Example</title>
  <meta charset="utf-8">
</head>
<body>
  <form id="data-form">
    <input name="data">
    <input type="submit">
  </form>
  <script>
    let outputElement;

    document.querySelector("#data-form").addEventListener("submit", evt => {
      evt.preventDefault();

      if (!outputElement) {
        outputElement = document.createElement("p");
        document.querySelector("body").appendChild(outputElement);
      }

      const formData = new FormData(evt.currentTarget);
      outputElement.textContent = formData.get("data");
    });
  </script>
</body>

Dem Formular wird ein Event Handler angehängt, welcher beim Auslösen des submit-Events aufgerufen wird. Mit dem Aufruf von preventDefault wird das Standardverhalten des Browsers (Abschicken eines Requests) unterbunden. Die Seite wird demzufolge nicht neu geladen.

Für die Ausgabe wird ein neuer Paragraph erstellt, sofern er noch nicht existiert. In diesen platziert das Programm einen Textknoten mit den eingegebenen Daten.

Ein Beispiel für Szenario 2 findest du hier. Alles was dein PHP-Skript bei Ausführung als Antwort (mit print/echo/...) in den Response Body schreibt, steht später in der Variable result (Parameter des fetch-Callbacks).

Dafür brauchst du viel mehr, das wichtigste Java Script. Und wenn du zb eine App entwickeln willst, geht das nicht mit HTML.

Du musst noch wissen mit welcher Währung, und welche es alle gibt.

ImmerVergeben 
Fragesteller
 14.01.2023, 15:35

Ich benutze in der schule kein java. Nur CSS, HTML und PHP. Es soll eine einfache kleine Seite werden.

1
TechPech1984  14.01.2023, 16:31

wofür den javascript ? lol , php hat Sessions der rest geht über GET oder POST

0
TechPech1984  14.01.2023, 16:36
@TechPech1984

hier wurde ja gesagt, "andere seite" , was nicht bedeutet das nicht die "gleiche seite" ausgeschlossen wird .

0
NackterGerd  14.01.2023, 16:44

Wieso - für PHP braucht man kein JS.

Die Aufgabe ist leicht ohne JS zu lösen

0