提交了一些人物,我有两个问题删除当通过POST
- 当我通过我的HTML表单提交字符
'
(使用POST)它是好的。然而,在我允许修改提交的内容的形式中,当它被带入时,'
之后的任何内容都消失了。我推断这是因为当我将包含'
的文本内容分配给文本字段时,它会关闭引用。例如,如果我在那里提交Hello,我是John,它会执行:<input type=text value='Hello there I'm Jon />
所以,您看到,I'm
中的撇号关闭了value属性的引用。所以我能想到的唯一解决方案就是逃避撇号,但即使当我在内容上留下我的mysql_real_escape_string()函数时(因为它已提交到数据库,因此转义并为此表单检索)。 - 同样,当我提交
&
或+
时,它消失。无论使用htmlspecialchars()
函数(我在印象之下应该用HTML格式对这些字符进行编码,例如:&
),我都会尝试在任何地方打印它。举例来说,如果有人输入Me & you
,那么它将显示为Me you
。
所以我问:如何解决上述问题,似乎与特殊字符有关,尽管已经让他们逃脱了(我甚至尝试再次应用转义函数)?如果有任何示例代码我应该提供,请告诉我,但我已经解释了我对每个输入所做的操作。
你对urlencoding正确,但这不应该是'POST'数据的问题......对吧? – davethegr8 2012-02-29 15:05:37
@ davethegr8 - POST数据通常编码为application/x-www-form-urlencoded数据,使用与urls相同的格式。 – Quentin 2012-02-29 15:07:28
所以,最后我会把'urlencode(htmlspecialchars($ data,ENT_QUOTES));'包含任何这些字符的所有字段? – muttley91 2012-02-29 15:23:23