Inai: Formular Daten auslesen

Hallo,

Ich habe eine Formularseite erstellt. Es geht darum, dass man da seine Daten einträgt (wie beim Profil) Sowas halt wie was die Lieblingstiere sind usw. Nun will ich einen Button machen auf den man klicken kann und welcher die Daten des Formulars zusammenfasst 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). 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?

Kennt wer einen Wiki-Link der einem das Schritt für schritt erklärt? Ich weiß leider nicht so genau was ich in der suche eingeben kann damit das gewünschte rauskommt, ich habs schon versucht

  1. @@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)
    1. Hey,

      super danke, genau das meine ich so ich habe nun ein Beispielprogramm erstellt an dem ich die sachen Teste (ich will nicht direkt am eigentlichen Code die sachen ändern, was wenn es nicht klappt und ich alles versaue) ich habe also das hier geschrieben und in meine 'index.html" abgespeichert:

          <form action="new.php" method="post">
          <h2>Coose your Car</h2>
          <hr>
          Chooose Car Make:
          <select id='slct1' name="slct1" style="width:3em" onChange="populate('slct1','slct2')">
           
              <option value=""></option>
              <option value="Chevy">Chevy</option>
              <option value="Dodge">Dodge</option>
              <option value="Ford">Ford</option>
          </select>
          <hr>
          Chooose Car Make:
          <select id='slct2' name='slct2' style="width:3em" onChange="populate1('slct2','slct3')">
          </select>
          <hr>
          Chooose Car Make:
          <select id='slct3' name='slct3'>
          </select>
          <hr>
          <input type="submit" name="submit" value="Submit">
          </form>
      

      Dazu habe ich eine neue php seite erstellt mit dem namen "new.php" Diese ist aber im Moment leer, ich habe noch nie in php programiert. Es funktioniert leider nicht, dass ich einfach die index.html Seite aufrufe und auf submit klicke. da kommt dann nur ein "Keine Daten empfangen". Muss ich was auf dieser php seite eintippen? Falls ja, könntest du mir bitte sagen was? Ich habe in youtube nach videos gesucht aber die erklären meist nur soweit wie ich es schon weiß und dann agen die immer: "Der rest ist höhere programmierung, den heben wir uns dann für später auf" und dann haben die nichts weiter hochgeladen. Oder die machen jede Seite in php und dann müsste ich meinen code auch wieder complett neu umschreiben (und ich weiß im moment nicht wie)

    2. Moin!

      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.

      Kann man so allgemein auch nicht sagen, hier ein Beispiel:

      <?php
      echo `sudo hardinfo -r -f html -m computer.so -a`; #*)
      ?>
      

      oder, als hardinfo.cgi:

      #!/bin/sh
      sudo hardinfo -r -f html -m computer.so -a; #*)
      

      Ein

      <?php
      echo htmlentities(`sudo hardinfo -r -f html -m computer.so -a`); #*)
      ?>
      

      würde ziemlichen "Salat" erzeugen ... "kontextgerecht" behandeln heisst hier: nicht behandeln.

      *) /etc/sudoers muss das natürlich erlauben)

      Jörg Reinholz

      1. Tach!

        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.

        Kann man so allgemein auch nicht sagen, hier ein Beispiel: [HTML-Code in ein HTML-Dokument einfügen]

        Wenn du HTML mit HTML zusammenführst, dann ist da kein Kontextwechsel. Den musst du bereits beachtet haben, wenn du die Daten in die einzelnen HTML-Teile einfügst.

        dedlfix.

  2. Liebe Mitdenker, liebe Wissende, liebe Neugierige,

    Ich habe eine Formularseite erstellt.

    Zeig einfach mal den relevanten Quelltext.
    Tipp: am Anfang kann der Quelltext meistens auf besondere Styles verzichten, da geht es erst einmal nur um die Funktionalität.

    Es geht darum, dass man da seine Daten einträgt (wie beim Profil) Sowas halt wie was die Lieblingstiere sind usw.

    Das sehen wir dann, wenn Du uns das Beispiel postest

    Nun will ich einen Button machen auf den man klicken kann und welcher die Daten des Formulars zusammenfasst 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).

    Wie man das nachher in der Antwort des Servers mit HTML auszeichnen kann, hat Dir Gunnar schon angedeutet. Aber wir sollten es behutsam angehen lassen.

    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?

    Da Du "PHP" schon selber ins Spiel bringst, sollten wir Dir grundsätzlich die Funktionsweise von Client-Server-Applikationen nahebringen. Wenn Du das dann verstanden hast, beschäftigen wir uns mit dem Aufbau eines "Affenformulares", mit Escaping und Kontextbehandlung, mit dem Wegschreiben (der Speicherung) von Daten, mit dem Holen und Suchen von Daten, mit der Datenbank, usw.

    Willst Du das? Dann sag einfach "ja" ;-)

    Kennt wer einen Wiki-Link der einem das Schritt für schritt erklärt?

    Es gibt ein inzwischen auch schon sehr angewachsenes Tutorial von quake.net für PHP & Co, das ich immer noch empfehlen mag. Das musst Du aber wirklich Seite für Seite von Anfang an durcharbeiten.

    Ich weiß leider nicht so genau was ich in der suche eingeben kann damit das gewünschte rauskommt, ich habs schon versucht

    Einen Suchbegriff habe ich Dir schon genannt: Affenformular
    Den kannst Du dir mal vornehmen, wenn Du die ersten Schritte verstanden hast.

    Spirituelle Grüße
    Euer Robert
    robert.r@online.de

    --
    Möge der wahre Forumsgeist ewig leben!