Gunnar Bittersmann: Formular Daten auslesen

Beitrag lesen

@@Inai

Nun will ich einen Button machen auf den man klicken kann und welcher die Daten des Formulars zusammenfasst

Der Button ist der Submit-Button des Formulars.

Ich hab aber leider keine Ahnung wie das geht, muss ich dazu eine neue Seite erstellen? Aber wie verlinke ich es so, dass es eine Zusamenfassung speichert?

Per action-Attribut des form-Elements. Da steht der URI der Stelle drin, welche die eingegebenen Daten entgegennimmt. Die Seite kann die Daten auch wieder ausgeben.

formular.html:

<form action="verarbeitung.php">
  <p>
    <label for="lieblingstier">Lieblingstier:</label>
    <input id="lieblingstier" name="lieblingstier"/>
  </p>
  <p>
    <label for="lieblingspflanze">Lieblingspflanze:</label>
    <input id="lieblingspflanze" name="lieblingspflanze"/>
  </p>
  <button>Absenden</button>
</form>

verarbeitung.php:

<p>Du hast angegeben:</p>
<dl>
  <dt>Lieblingstier:</dt>
  <dd><?php echo htmlspecialchars($_GET['lieblingstier']); ?></dd>
  <dt>Lieblingspflanze:</dt>
  <dd><?php echo htmlspecialchars($_GET['lieblingspflanze']); ?></dd>
</dl>

Beachte, dass sämtliche <del>eingegeben</del> Daten vor der Ausgabe in HTML mit htmlspecialchars() behandelt werden müssen! Ansonsten klaffen Sicherheitslöcher auf.

Anmerkung von dedlfix: Da Gunnar es nicht lernt, dass nicht nur Eingabedaten sondern sämtliche Daten kontextgerecht zu behandeln sind, habe ich mir erlaubt, ein <del></del> einzufügen.

ohne das man noch die umrandungen der einzelnen Inputfelder sieht und einen Button der eine Skizze des Formulars ist nur halt mit den festen einträgen (so das man die sachen halt nach Wunsch drucken oder speichern kann).

Wenn es dir nur um die Formatierung des Ausdrucks des Formulars geht, kannst du die Rahmen der Eingabefelder auch für den Ausdruck mit CSS entfernen:

@media print
{
  input
  {
     border: none;
  }
}

LLAP

--
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)