PHPでカラースケール(3色スケール)を利用する

カラースケールを使い、数値の大小を可視化するためのPHP関数を作りました。

作成したもの

下図のようなテーブルのためのカラースケール関数を作りました。数値が大きければ緑が濃く、数値が小さければ赤が濃くなります。数値が0に近づけば無色になります。

リンク:ポートフォリオ(Kapok)

コード

引数として「数値」と「最大値」を渡すと、数値に応じたカラー付きテーブルデータ(<td・・・/td>)を返します

PHPで文字を連結するには? . (結合演算子)の使い方

PHPで文字列を繋げるには、繋げたい文字列の間に「 . (ドット)」の1文字をはさみます。PHPでは結合演算子に「 . 」を使います。

参照:文字列演算子(phpマニュアル) 

初めて知った時、これはとても簡単で、素晴らしいと思いました。Excel VBAでも & で簡単に繋がりますが、phpの「 . 」 の1文字で繋げようという発想に感動です。タイピングもしやすいですしね。

PHPで、入力されたデータをhtmlに変換する

PHPのhtmlspecialchars()関数についての記述です。

概要

PHPでユーザーがフォームへ入力したデータを、HTMLに変換するために、htmlspecialchars()関数を利用できます。

利用例

例えば、

$brand = htmlspecialchars($_GET[“brand”]);

とすれば、変数brandにhtml形式でフォームのデータが入ります。

変換とは?

HTMLの特殊な記号を変換します。例えば「>」を「&gt;」に、「&」を「&amp;」に変換します。変換については、htmlspecialchars (php.net) に詳細が掲載されています。

利用した方が良い理由

ユーザーの入力に、勝手なJavaScriptを実行する記述や、HTMLのタグが含まれているとサーバーを危険に晒します。これを避けるため、ユーザーの入力情報はhtml形式に変換した後に利用するのも良さそうです。

例えばフォームから受け取った値を、エスケープせずに画面に出力する危険性についての記述は、PHPの脆弱性への攻撃名称と対策メモ (qiita.com) のクロスサイトスクリプティングの項目から確認できます。

PHPの設定を確認するphpinfo()とは?

phpinfo()関数で、phpの設定情報を確認できます。

下記のコードを適当な名前(例えばphpinfo.php)で保存し、ブラウザでそれを開けば、各種の設定情報が出力されます。

 
phpのバージョン情報のみならず、さまざまな情報が出てきます。私の場合は、MySQLやapacheに関係する情報までもが出力されました。