danOne: url kodierung von ' und \

Hi,

ich habe folgendes Problem:
eine <textarea> zum eingeben eines beliebigen textes wird per post verschickt. Das aufgerufene Testskript prüft alle felder (da sind noch mehr als nur die area) des formulars und führt im Fehlerfall zurück zum Eingabeformular, dabei werden alle bisherigen eingaben in der URL übertragen damit man nicht alles nochmal eingeben muss. Sollte sich in irgendeinem Feld nun ein ' oder ein \ befinden so wird dieser ja irgendwie massiv maskiert und führt bei ausgabe zu viel Müll. Ich hab die Strings mit urlencode() kodiert (soweit ich weiß muss man urldecode() ja nicht benutzen da das automatisch gemacht wird oder? (stand im archiv)).

Im Archiv habe ich rausgefunden das ich mit stripslashes und str_replace die dinger wieder weg kriege. ist das echt der einzige weg? erscheint mir etwas mühselig.

ausserdem maskiert ja ein slash den nächsten und das ganze wird sehr unübersichtlich. warum werde diese eingentlich so speziell kodiert.

Danke für Vorschläge
schönen Gruß
.dan.One.

  1. hi,

    eine <textarea> zum eingeben eines beliebigen textes wird per post verschickt. Das aufgerufene Testskript prüft alle felder (da sind noch mehr als nur die area) des formulars und führt im Fehlerfall zurück zum Eingabeformular, dabei werden alle bisherigen eingaben in der URL übertragen damit man nicht alles nochmal eingeben muss.

    _warum_ überträgst du diese werte denn im URL, anstatt sie direkt in das value-attribut der input felder bzw. zwischen die tags einer <textarea> zu schreiben? (natürlich html-gerecht kodiert.)

    gruss,
    wahsaga

    1. hi,

      _warum_ überträgst du diese werte denn im URL, anstatt sie direkt in das value-attribut der input felder bzw. zwischen die tags einer <textarea> zu schreiben? (natürlich html-gerecht kodiert.)

      wie soll der Eingabetext denn sonst vom verarbeitenden Skript zurück zum Formular kommen?

      schönen Gruß
      .dan.One.

      1. hi,

        _warum_ überträgst du diese werte denn im URL, anstatt sie direkt in das value-attribut der input felder bzw. zwischen die tags einer <textarea> zu schreiben? (natürlich html-gerecht kodiert.)
        wie soll der Eingabetext denn sonst vom verarbeitenden Skript zurück zum Formular kommen?

        üblicherweise macht man das so, dass das verarbeitende script auch für die ausgabe des formulars zuständig ist.

        erster aufruf, keine POST/GET-daten vorhanden: nur das formular wird ausgegeben, und zwar so, dass es sich als action selbst wieder aufruft.

        folgende aufrufe: du überprüfst die eingaben; wenn sie korrekt sind, führst du deine verarbeitung durch. wenn nicht, gibst du stattdessen die formularfelder wieder aus, und schreibst dabei die vom vorherigen aufruf übergebenen POST/GET-daten direkt in die value-attribute der input-felder.

        gruss,
        wahsaga

        1. Hallo,

          üblicherweise macht man das so, dass das verarbeitende script auch für die ausgabe des formulars zuständig ist.

          Das sogenannte "Affenformular" ist uebrigens auch hier beschrieben:
          http://www.dclp-faq.de/q/q-stil-normalform.html

          Und auch das Problem des OP wird in der FAQ behandelt:
          http://www.dclp-faq.de/q/q-magic-quotes.html

          Gruesse,

          Thomas