problem mit input type="hidden"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • problem mit input type="hidden"

    hi
    in meinem script kann man in ein eingabe feld einen text eingeben. beim klick auf weiter kommt erstmal eine vorschau der email, die letztendlich versendet wird.
    dass der eingegeben text nicht verloren geht wird der text in einem <input type="hidden"> feld gespeichert.
    klappt alles ganz fein.. nur, wenn ein anführungszeichen (") eingegeben wird, dann wird nur eine leere mail verschickt..

    was mach ich falsch?
    hier ist der code, den ich verwende:
    PHP-Code:
    <?
            $rechnung = $_POST["rechnung"];
            echo "<div align=\"left\">" . nl2br($rechnung) . "</div>";
            $rechnung = addslashes($rechnung);

            echo "<form action=\"kunden.php?action=rechnung&mode=send&id=" . $id . "\" method=\"post\">";
            echo "<input type=\"hidden\" value=\"" . $rechnung . "\" name=\"rechnung\">";
            echo "<input type=\"submit\" value=\"Weiter\">";
            echo "</form>";
            echo "&nbsp;&nbsp;";
            echo "<form action=\"javascript:history.back(1)\">";
            echo "<input type=\"submit\" value=\"Zur&uuml;ck\">";
    ?>
    bei der eingabe von html code bekomme ich bei der preview noch einen teil von der definition des input type="hidden" feldes ausgegeben. das sieht dann so aus:
    ...
    Mailinhalt
    ...

    Depp" name="rechnung">

    ich find den fehler nich

    dann funktionieren die zeilenumbrüche bei der mail nich..
    die zeilenumbrüche werden ignoriert...
    was kann ich da machen? (liegt wahrscheinlich daran, dass das alles in das einzeilige input type="hidden" feld eingetragen wird..)

    greetz

  • #2
    Re: problem mit input type=&quot;hidden&quot;

    wenn du in den value eines formularfeldes einen text reinschreibst, der ein anführungszeichen enthält, ist logischerweise nach dem anführungszeichen der value zuende ... und der rest ist dann höchstwahrscheinlich unkorrektes html.

    also musst du das anführungszeichen entweder maskieren (weiss gerade nicht, ob das in html geht?) oder kodieren, eins von beidem - probier halt mal aus.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Gib mal bitte den Quelltext der Augabe hier an...ich seh auch nicht wo der Fehler liegt
      Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
      (Albert Einstein)

      Kommentar


      • #4
        der quelltext der ausgabe:


        <link href="../mystyle.css" type=text/css rel=stylesheet>
        <div align="center"><br><br><div align="left">eine mail mit html:<br />
        <a href="site.htm">Link</a></div><form action="kunden.php?action=rechnung&mode=send&id=5" method="post"><input type="hidden" value="eine mail mit html:
        <a href=\"site.htm\">Link</a>" name="rechnung"><input type="submit" value="Weiter"></form>&nbsp;&nbsp;<form action="javascript:history.back(1)"><input type="submit" value="Zur&uuml;ck">


        der fehler liegt anscheinend an den < und > im html tag, der in dem input type="hidden" feld gespeichert wird..
        ich versuch mal, das mit die < und > mit str_replace() zu ersetzen...

        edit: Hat sich erledigt
        die beiden posts oben haben mich auf die lösung gebracht.. thx
        Zuletzt geändert von WhiZZler; 14.07.2003, 20:16.

        Kommentar

        Lädt...
        X