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 件のコメント:

コメントを投稿

綺麗に見せることに全振りした操法大会の訓練を50日間するよりも、月1回でいいから基本的な操作方法の訓練を実施すべきだと思うのは俺だけか

 7月に県の消防操法大会がある。 市内分団の持ち回り制で、今年はうちの分団が出場する。 俺も前回回ってきたときに、選手として出た。 訓練が5月から始まっている。 週5日。 訓練時間は2時間だけど、その前に準備する時間もあり、訓練後の撤収時間も必要だから、拘束時間は約3時間。 俺が...