Oliver Spiesshofer: warum wird form-inhalt automatisch \ vor " gesetzt?

Hi,

ich habe eine form, die fuer ein CMS aus PHP-code heraus erstellt wird (post-method).

der eingegebene text wird auf der ausgabeseite zum ueberpruefen nochmal angezeigt.

wenn jemand dort ein " eingibt, kommt es auf der anderen seite immer als " an....

wie kann ich das verhindern??

danke

Oliver

  1. Hallo,

    wenn jemand dort ein " eingibt, kommt es auf der anderen seite immer als " an....

    wie kann ich das verhindern??

    Mit der Funktion "stripslashes". Siehe auch http://www.php.net/manual/en/function.stripslashes.php oder http://www.selfphp3.de/funktionsreferenz/string_funktionen/stripslashes.php4

    Gruss

    -> Andreas

  2. Moin

    ich habe eine form, die fuer ein CMS aus PHP-code heraus erstellt wird (post-method).
    der eingegebene text wird auf der ausgabeseite zum ueberpruefen nochmal angezeigt.
    wenn jemand dort ein " eingibt, kommt es auf der anderen seite immer als " an....
    wie kann ich das verhindern??

    Das wird durch die Konfigurationseinstellung magic_quotes_gpc (http://www.php.net/manual/en/configuration.php#ini.magic-quotes-gpc) verursacht, die glücklicherweise per default auf on gestellt ist. Verhindern könntest du das indem du das auf off setzt, aber das möchtest du nicht tun, da dir dann evt. wirkungsvoll selbst in den Fuß schiesst. Besser ist es, die Strings solange wie möglich escaped zu lassen und wirklich erst bei der Ausgabe stripslashes() (http://www.php.net/manual/en/function.stripslashes.php) anzuwenden, wie Andreas schrieb.

    --
    Henryk Plötz
    Grüße aus Berlin