Anda tidak boleh menggunakan htmlentities
saat menyimpannya. Anda harus menggunakan htmlentities
saat menampilkannya. Aturan praktisnya adalah tidak menyandikan/mensanitasi data sampai Anda membutuhkannya. Jika Anda melakukan htmlentities
di atasnya ketika Anda menyimpan maka Anda harus melakukan html_entity_decode
pada teks ketika pengguna ingin mengedit input. Jadi Anda membersihkan untuk apa yang Anda butuhkan dan tidak lebih. Saat menyimpannya, Anda perlu membersihkan untuk injeksi SQL, jadi Anda mysql_real_escape_string
dia. Saat menampilkan, Anda perlu membersihkan XSS, jadi Anda htmlentities
itu.
Juga, saya tidak yakin apakah Anda melihat komentar Darryl Hein, tetapi Anda benar-benar tidak ingin magic_quotes diaktifkan. Mereka adalah hal yang buruk, buruk, dan telah ditinggalkan pada PHP 5.3 dan akan hilang sama sekali di PHP 6.