MichaelR: + Anführungszeichen " - being confused ...

Hi Leute,

eine HTML Seite übermittelt ein Form mit u.a.

...
<input type="text" name="form1" value="" />
...

an ein php Script; wird in das obige Textfeld z. B. eingegeben

"lustig"

oder

"lustig"

und im php mittels $HTTP_POST_VARS['form1'] der übermittelte Wert abgefragt, dann erhalte ich _immer_ folgendes:

"lustig"

also diese Backslash's sind da zuviel.

Wie kann ich bitte verhindern, dass diese \ hinzugefügt werden ?

Ich könnte zwar die \ nachträglich herausfiltern, aber von vornherein verhindern wäre besser ... :)

Danke
Michael

  1. Hi,

    Wie kann ich bitte verhindern, dass diese \ hinzugefügt werden ?

    verzichte auf PHP.

    Ich könnte zwar die \ nachträglich herausfiltern,

    Ja, das ist der Workaround.

    Cheatah

  2. Moin!

    also diese Backslash's sind da zuviel.

    Wie kann ich bitte verhindern, dass diese \ hinzugefügt werden ?

    Ich könnte zwar die \ nachträglich herausfiltern, aber von vornherein verhindern wäre besser ... :)

    Du kannst die Einstellung von magic_quotes_gpc auf off setzen (in der php.ini - das ist nur für den Serveradmin zugänglich), um diese automatischen Backslashes auszuschalten.

    Alternativ kannst du mit der Funktion stripslashes() die Backslashes auch in deinem Skript entfernen.

    Bedenke aber, dass die Slashes eine gute Sache sind für die Funktionen, die die Daten an ein weiteres System weiterleiten wie z.B. eine Datenbank. Üblicherweise setzt man dort die SQL-Anfragen per String zusammen: "SELECT * FROM tabelle WHERE spalte = '$phpwert'" - wenn hier die Backslashes im String fehlen würden, wären unvorhergesehene Ergebnisse möglich, weil die Datenbank die Anführungszeichen falsch interpretiert.

    - Sven Rautenberg