variablen-übergabe - teil verschwindet

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

  • variablen-übergabe - teil verschwindet

    hallo,
    ich komme wohl ohne einen tip nicht weiter.
    eine kleine testumgebung aus 3 seiten, code auszugsweise,
    $record wird per $record = $_POST['record'] von Seite 2/3 übernommen.

    in der textarea auf seite 1 steht: >> geht' so "sommer" <<
    --------------------------------------------------
    Seite1

    <form method='post' action='test2.php'>
    <textarea rows='7' name='record' size='200'></textarea>
    <input type='submit' value='go'>
    </form>
    ---------------------------------------------------
    Seite 2

    <form method='post' action='test3.php'>

    string roh:
    geht\' so \"sommer\"

    string nach stripslashes:
    geht' so "sommer"

    code: >> echo "<input type='hidden' name='record' value=\"$record\">"; <<
    quelltext: >> <input type='hidden' name='record' value="geht' so "sommer""> <<

    <input type='submit' class='but-100' value='Abschicken'>
    </form>
    ---------------------------------------------------
    Seite 3

    string roh:
    geht\' so
    ---------------------------------------------------
    1.problem - obwohl kein "addslashes" verwendet wird, hat der rohstring auf seite 2 slashes.
    fügt php die slashes von sich aus hinzu?

    2.problem - im hidden-feld auf seite 2 ist der string noch komplett >> geht' so "sommer" <<
    auf seite 3 kommt jedoch nur noch an >> geht\' so <<
    wo bleibt der rest nach dem einfachen anführungszeichen?

    (kompletter quelltext als anhang - 1,5 kb)
    hat jemand eine idee? danke!
    Angehängte Dateien

  • #2
    $record = htmlentities($_POST['record2']);
    müsste das problem beheben

    value="geht' so "sommer""
    ---------------^ hier ist value zuende, der rest "verdampft"

    value="geht' so &amp;quot;sommer&amp;quot;" dann bleibt es auch komplett
    Kissolino.com

    Kommentar


    • #3
      danke wurzel, so geht's!

      bleibt das problem mit den slashes.

      wenn nichts mache, kommt jetzt auf seite 3 an:

      geht\\\' so \\\"sommer\\\"

      zaubert php hier?

      Kommentar


      • #4
        hast du irgendwo noch "addslashes()" verwendet?

        wenn ja, dann kommentier die mal aus, dann sollte es weg sein.
        Kissolino.com

        Kommentar


        • #5
          nein, es werden keine addslashes verwendet, das ist ja das seltsame.

          der provider weiss auch von nichts, dennoch fügt php scheinbar selbstständig die dinger hinzu.

          ich kann sie natürlich auf jeder seite manuell entfernen, aber es muss doch einen grund für dieses verhalten geben?

          Kommentar


          • #6
            browser??
            habs mal probiert, so klappts:

            $record = stripslashes(htmlentities($record));

            muss überall rein, wo $record weitergegeben wird
            Kissolino.com

            Kommentar


            • #7
              ja, so mache ich es jetzt auch.

              danke soweit, vielleicht hat ja irgendjemand eine antwort auf das slash-phänomen...

              Kommentar


              • #8
                addslashes

                php4 fügt meines wissens von selbst slashes zu. du brauchst nur noch stripslashes
                achim köllner


                gesellschaft für marke und technologie deutschland

                zwischengeschoss | eschelsweg 4 | 22767 hamburg/germany

                Kommentar


                • #9
                  woher die Backslashes kommen steht hier:

                  http://php.net/configuration#ini.magic-quotes-gpc
                  hopka.net!

                  Kommentar

                  Lädt...
                  X