入力フォームからSQL発行 → シングルクォートが入っていたらエラー

SQL発行より前に、シングルクォートをHTMLエンティティに変換しないといけない。
そこでhtmlspecialcharsを!

ex) htmlspecialchars($hoge, ENT_QUOTES);

引数は【ENT_QUOTES】を使用。
シングルクォートとダブルクォートが変換される。
DBにはシングルクォートが【'】に、ダブルクォートは【"】と、変換した形で挿入される。

そして、表示時。

登録した内容を、再度入力フィールドに表示する際に、
元の記号の形に戻ってないと何かややこしいので、
今度はhtml_entity_decodeの出番。

ex) html_entity_decode($hoge, ENT_NOQUOTES);

引数は【ENT_NOQUOTES】を使用。
ソース上では、シングルクォートもダブルクォートも変換されないまま。
表示ではそれぞれ【’】と【”】になっている。

htmlspecialcharsは知ってたけど、元に戻すっていう関数もあるのね。

2009/10/30 16:19 | PHP | Comments (0)
Comment

コメントはまだありません。

Comment Form