提交了一些人物,我有兩個問題刪除當通過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