Non dovresti usare htmlentities
quando lo salvi. Dovresti usare htmlentities
durante la visualizzazione. La regola pratica è non codificare/disinfettare i dati finché non è necessario. Se fai htmlentities
su di esso quando salvi, devi fare html_entity_decode
sul testo quando l'utente desidera modificare l'input. Quindi igienizzi per quello che ti serve e niente di più. Quando lo salvi, devi disinfettare per SQL injection, quindi mysql_real_escape_string
esso. Durante la visualizzazione, devi disinfettare per XSS, quindi htmlentities
esso.
Inoltre, non sono sicuro che tu abbia visto il commento di Darryl Hein, ma davvero non vuoi che magic_quotes sia abilitato. Sono una cosa cattiva, cattiva e sono stati deprecati a partire da PHP 5.3 e saranno eliminati del tutto in PHP 6.