renner2000: MySQL / Select-Input / mehrere Werte

Hallo zusammen, ich habe eine mySQL-DB, nehmen wir an mit Werte in einer Tabelle ID, Name, Vorname.

Mit diesen Werten erstelle ich ein Select-Input in einem Formular, z.B.:

echo "<select name='kundenname'>";
      echo "<option>..bitte Name auswählen</option>";
      while($wert = mysqli_fetch_object($ergebnis))               
      {
      echo "<option>"; echo $wert->id; echo $wert->name; echo $wert->vorname; echo "</option>";
      }
echo "</select>";

Nun zeigt es mir ein Dropdown-Menü mit den Namen an, je Zeile mit ID, Name und Vorname. Das ist alles ok, nur möchte ich in der weiteren Verarbeitung nicht alles übernehmen, sondern nur die ID. Im Dropdown-Menü muss auch die ID nicht sichtbar sein, verstecke ich die ID in einem zweiten <option> bringt das nicht viel, da diese weitere Zeile nicht mit ausgewählt wird.

Irgendwie stehe ich auf dem Schlauch ... Hat jemand spontan eine Idee??

akzeptierte Antworten

  1. Lieber renner2000,

    <option value="{$id}">{$name}</option>
    

    Liebe Grüße,

    Felix Riesterer.

    1. Super, jetzt hab ich es auch verstanden. Mit VALUE="" übernimmt man nicht der Wert welchen ich mit ECHO auch ausgebe, sondern nur den innerhalb von VALUE. Funktioniert. DANKE

      1. Tach!

        Funktioniert.

        Ist trotzdem kaputt. Wenn jemand Zeichen wie < in seinem Namen eingibt, dann ist im besten Fall nur dein HTML im Eimer. Kontextwechsel beachten.

        Zudem ist es besser, in PHP die ' einfachen Anführungszeichen zu verwenden, dann kann man bei Ausgaben von HTML-Code darin die " doppelten für die Attribute nehmen. Dann kann man htmlspecialchars() ohne zusätzliches ENT_QUOTES verwenden.

        dedlfix.

        1. @@dedlfix

          Zudem ist es besser, in PHP die ' einfachen Anführungszeichen zu verwenden, dann kann man bei Ausgaben von HTML-Code darin die " doppelten für die Attribute nehmen.

          Nein.

          Man sollte gar keinen HTML-Code (die Tags) mit echo ausgeben, sondern lediglich die Daten mit PHP einfügen.

          Das Problem mit ' und " löst sich in nichts auf; im Text sollten diese Zeichen ja nicht auftauchen (außer bei nutzergeneriertem Inhalt).

          LLAP 🖖

          --
          „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
          1. Tach!

            Zudem ist es besser, in PHP die ' einfachen Anführungszeichen zu verwenden, dann kann man bei Ausgaben von HTML-Code darin die " doppelten für die Attribute nehmen.

            Nein.

            Man sollte gar keinen HTML-Code (die Tags) mit echo ausgeben, sondern lediglich die Daten mit PHP einfügen.

            Das Problem mit ' und " löst sich in nichts auf; im Text sollten diese Zeichen ja nicht auftauchen (außer bei nutzergeneriertem Inhalt).

            Es löst sich dadurch mitnichten auf. Auch dann muss man htmlspecialchars() verwenden und dabei beachten, dass HTML-Attribute (außerhalb der PHP-Bereiche) in " zu schreiben sind, wenn man ENT_QUOTES weglassen möchte.

            dedlfix.

            1. @@dedlfix

              Zudem ist es besser, in PHP die ' einfachen Anführungszeichen zu verwenden, dann kann man bei Ausgaben von HTML-Code darin die " doppelten für die Attribute nehmen.

              Man sollte gar keinen HTML-Code (die Tags) mit echo ausgeben, sondern lediglich die Daten mit PHP einfügen.

              Das Problem mit ' und " löst sich in nichts auf; im Text sollten diese Zeichen ja nicht auftauchen (außer bei nutzergeneriertem Inhalt).

              Es löst sich dadurch mitnichten auf.

              Inwiefern bliebe das Problem mit ' und " (d.h. mit deren Verschachtelung) bestehen?

              Auch dann muss man htmlspecialchars() verwenden

              Das freilich.

              und dabei beachten, dass HTML-Attribute (außerhalb der PHP-Bereiche) in " zu schreiben sind, wenn man ENT_QUOTES weglassen möchte.

              Das auch.

              LLAP 🖖

              PS: Danke für die Erinnerung. Da ich in HTML sowieso immer " verwende, hatte ich das gar nicht mehr auf dem Schirm.

              --
              „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann