我創建了一個小表來存儲一些信息到數據庫。
我在我的服務器上關閉了magic_quotes_gpc。
如果我輸入一個"
或一個£
登錄框中存儲到數據庫沒有擔心。
當我用php回顯它時,它會顯示,但是如果我使用輸入表單域中的值"
關閉值域。
<input type="text" name="variable" value="<?php echo $row[variable]; ?>" />
我現在已經在輸入值周圍使用了htmlspecialchars,它工作。
<input type="text" name="variable" value="<?php echo htmlspecialchars($row[variable]); ?>" />
但我已經看了開放車源作爲參考,他們不以不同的方式使用用htmlspecialchars但存儲數據。
我嘗試使用urlencodes方法他們已經使用:
urlencode(html_entity_decode($_POST[variable],ENT_QUOTES, 'UTF-8'));
但這似乎存儲爲很多其沒有顯示正確回數字和+標誌。
我寧願編碼更新數據庫,而不是使用我用htmlspecialschars
的方法。
但是不太確定哪種方式最好?
謝謝
「我寧願編碼,而不是使用我與htmlspecialschars方法更新數據庫。」 - 不要那樣。在將數據插入HTML之前立即將數據編碼爲HTML是明智的方法。它直到最後一分鐘都以乾淨的格式保存數據,所以如果你需要把它放在不是HTML的地方,它仍然可以。 – Quentin 2013-03-27 09:32:14
[偉大的逃避現實(或:你需要知道如何處理文本中的文本)](http://kunststube.net/escapism/) – deceze 2013-03-27 09:33:30