2012-08-15

データが保存されればいいという問題ではない

何かを勘違いしていた前任者がいた。
例によって、既に退職している。

入力された値をhtmlentities()を通し、
その結果をデータベースへ登録していた。


お陰で、他のシステムへデータ連携する仕組みを構築する際、

要らぬ変換を噛ます必要が生じた。


面倒くさいのなんのって。



というわけで、


入力値を表示したりデータベースへ登録する際は、

こんな感じで使おうよ。


<?
//  文字エンコードは UTF-8 の前提
//  $linkは、適切なDBLINKとする
//  入力値の取得
$input_value = isset($_POST['input']) ? $_POST['input'] : '';

//  INSERT文(MySQLの場合)
$sql = "INSERT INTO TABLE (`val`) VALUES ('".mysql_real_escape_string($input_value, $link)."')";

//  HTML出力
echo htmlentities($input_value, ENT_QUOTES, 'UTF-8', false);

?>

0 件のコメント:

コメントを投稿

Chatの「メッセージは投稿者によって削除されました」を非表示にする方法

Chrome拡張機能を自作してやってみよう! ♪できるかな できるかな ・・・ 無理ぽ (´・ω・`) iframeの中に、実際のメッセージのやり取りが表示されるので、 $(function(){ $('iframe[name^="spa...