CharlyPf: PHP Formularfelder

Hallo,
folgendes Problem.
Auf meiner phpseite wird die Postleitzahl ausgewählt und auf eine andere seite übergeben.
Das funktioniert.
Jetzt möchte ich aber, das dieser Wert gleich in einem Formularfeld angezeigt wird, das man nicht mehr verändern kann, das aber per Mail weiter geschickt wird.

<p><input id="plz_name" type="text" size="5" name="plz_name" value="<?php echo $_POST['plz_name']; ?>" placeholder="PLZ">
   <input id="ort_name" type="text" size="26" name="ort_name" value="<?php echo $_POST['ort_name']; ?>" placeholder="Ort"></p>

Danke

  1. @@CharlyPf

    Jetzt möchte ich aber, das dieser Wert gleich in einem Formularfeld angezeigt wird, das man nicht mehr verändern kann

    Dann verpass dem Eingabefeld ein entsprechendes readonly-Attribut.

    <p><input id="plz_name" type="text" size="5" name="plz_name" value="<?php echo $_POST['plz_name']; ?>" placeholder="PLZ">

    Außerdem solltest du deinen Eingabefeldern eine Beschriftung verpassen; gegenwärtig haben sie keine. Placeholder sind keine Beschriftung.

    Und du solltest unbedingt den Kapitalfehler berichtigen: Niemals Nutzereingaben (oder andere Daten) unbehandelt in HTML ausgeben. Sicherheitslücke! Zu schließen mit htmlspecialchars().

    <p>
      <label for="plz_name">PLZ</label>
      <input id="plz_name" type="text" size="5" name="plz_name" value="<?php echo htmlspecialchars($_POST['plz_name']); ?>" readonly>
    </p>
    

    <input id="ort_name" type="text" size="26" name="ort_name" value="<?php echo $_POST['ort_name']; ?>" placeholder="Ort"></p>

    Dito.

    LLAP 🖖

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

    Auf meiner phpseite wird die Postleitzahl ausgewählt und auf eine andere seite übergeben. Das funktioniert. Jetzt möchte ich aber, das dieser Wert gleich in einem Formularfeld angezeigt wird, das man nicht mehr verändern kann, das aber per Mail weiter geschickt wird.

    Genehmigung erteilt. Oder hattest du ein konkretes Problem, es nur zu erwähnen vergessen? Wenn du ein Attribut suchst, das das Input-Feld auf nur lesbar setzt, dann schau mal in die Dokumentation/Referenz zum Input-Element. Im Wiki (in der obigen Menüleiste bei Doku zu finden) und ins Suchfeld input eingeben.

    <p><input id="plz_name" type="text" size="5" name="plz_name" value="<?php echo $_POST['plz_name']; ?>" placeholder="PLZ">
       <input id="ort_name" type="text" size="26" name="ort_name" value="<?php echo $_POST['ort_name']; ?>" placeholder="Ort"></p>
    

    Und wenn du schon im Wiki bist, such mal nach Kontextwechsel. So wie du Werte in das HTML einfügst, ist das nicht ausreichend und kann ungewünscht ausgenutzt werden. Die Funktion htmlspecialchars() solltest du solchen Situationen nicht vergessen. (Andere Situationen erfordern andere Maßnahmen, die sind alle im Kontextwechsel-Artikel erwähnt.)

    <p><input id="plz_name" type="text" size="5" name="plz_name" value="<?php echo htmlspecialchars($_POST['plz_name']); ?>" placeholder="PLZ">
       <input id="ort_name" type="text" size="26" name="ort_name" value="<?php echo htmlspecialchars($_POST['ort_name']); ?>" placeholder="Ort"></p>
    

    dedlfix.