Daniel.: Option Value mit Anführungszeichen

Hallo,

ich bin mir sehr unsicher, ob dieses ein HTML, DB oder PHP Problem ist. Ich vermute, eher letzteres, daher auch dieses Forum.

Ich versuche eine Dropdownliste mit einer Datenbankabfrage zu füllen. Dieses funktioniert auch, es gibt allerdings Probleme, wenn als Value ein Wert mit einem Anführungszeichen vorhanden ist. Logischerweise werden diese dann im HTML Code als Ende des Value Wertes angesehen.

Wenn ich als Escape Sequenz ein \ vor dem Anführungszeichen einsetze, funktioniert es ebenfalls nicht.

Hat jemand eine Idee, wie ich diese Werte trotzdem einsetzen kann? Muss eventuell schon bei der Eingabe die Anführungszeichen umwandeln?

Vielen Dank im Voraus

Daniel

  1. Hello,

    Hat jemand eine Idee, wie ich diese Werte trotzdem einsetzen kann? Muss eventuell schon bei der Eingabe die Anführungszeichen umwandeln?

    benutze die Funktion htmlspwcialchars($values, ENT_QUOTES);

    http://de.php.net/manual/en/function.htmlspecialchars.php

    um die Daten in den HTML-Kontext einzubetten und die HTML-eigenen Sonderzeichen entsprechend zu codieren.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Vielen Dank, eine einfache schnelle Lösung! :-)

  2. Hat jemand eine Idee, wie ich diese Werte trotzdem einsetzen kann?

    http://www.w3.org/International/questions/qa-escapes

    Muss eventuell schon bei der Eingabe die Anführungszeichen umwandeln?

    Nein - speichere deine Daten immer Kontextneutral in der Datenbank, behandle sie erst bei der Ausgabe entsprechend Kontextspezifisch.

  3. Hi,

    ich bin mir sehr unsicher, ob dieses ein HTML, DB oder PHP Problem ist. Ich vermute, eher letzteres, daher auch dieses Forum.

    Nein, eher ersteres.

    Ich versuche eine Dropdownliste mit einer Datenbankabfrage zu füllen. Dieses funktioniert auch, es gibt allerdings Probleme, wenn als Value ein Wert mit einem Anführungszeichen vorhanden ist. Logischerweise werden diese dann im HTML Code als Ende des Value Wertes angesehen.

    Wenn ich als Escape Sequenz ein \ vor dem Anführungszeichen einsetze, funktioniert es ebenfalls nicht.

    Natürlich nicht, welche Bedeutung soll ein \ in HTML denn haben?

    Hat jemand eine Idee, wie ich diese Werte trotzdem einsetzen kann?

    Du bringst einen Wert in den Kontext HTML, also hast du ihn auch diesem genügend zu behandeln.

    http://de.selfhtml.org/html/referenz/zeichen.htm#benannte_html

    Muss eventuell schon bei der Eingabe die Anführungszeichen umwandeln?

    Nein, bei der Ausgabe.
    PHP kennt dafür die Funktion htmlspecialchars.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.