■■■■■■■■■■■■■■■■■■■■
CGI講座・リプレイ
-最終講- カウンタ作成への道
■■■■■■■■■■■■■■■■■■■■
■1、カウンタの動作■
いよいよ今までの学習内容を駆使してカウンタの作成に入る。
まずはカウンタの動作を考えてみたい。
カウンタの動作は誰かがそのカウンタを見ると1を加算し、
今まで見に来た人たちの累計を表示する、という所だろう。
これをもう少し細かく分けると
1.今までの累計記録ファイルを開きデータを読み込む
2.読み込んだデータに1を加算
3.加算した結果を表示
4.表示結果を累計記録ファイルに上書きする
以上の1〜4の動作を繰り返しているのがアクセスカウンタである。
■2、Perlに翻訳!!■
上記の一連の命令をPerlで記述するとどうなるだろうか?
まず1と4から第14講で学んだ
「外部ファイルの操作」が必要であることがわかる。
外部ファイルの名前を「count.dat」とすれば
手順どおりに進めるため4の操作についてはまた後ほど書くとして、
1はデータ読み込みオープンなので
open(FH,"count.dat");
$total=;
close(FH);
と記述し、変数$totalにファイル内に記録されている
累計を読み込むようにする。
なお、count.datの初期値は各自で好きな数を設定できるが、
最初は「0」にしておくのが普通だろう。
次に2を見ると変数に1を加算する必要が考えられる。
これは
$total=$total + 1;
でもいいが、第12講および第13講で
$total++;
という「インクリメント演算子」が登場しているので
これを使うといいだろう
3の結果表示についてはこれは説明はいらないだろう。
print "あなたは$total人目の訪問者です";
この変数の使い方については第8講で説明しているので
忘れた人はそちらを参照してほしい。
そして最後の4の操作はファイル書き込みオープンとなる
open(FH,">count.dat");
print FH $total;
close(FH);
読み込むファイル名の前に「>」をつけると
データの上書きができるようになる。
また、外部ファイルに変数の値を書き込むときは
print ファイルハンドル $変数名;
のように記述する。
ちなみに「>>」にすれば追加書き込み、
すなわち元あるデータを残したまま
データを追加することができるが、
これは注文フォームや掲示板などで使う機能である。
以上のようにしてカウンタを作ることができる。
■3、カウンタの改造■
こうして本講座の最終目標であるカウンタを作成したが、
完成品を見ると
良く言えばシンプル、悪く言えばそっけないものである
そこでテキストの代わりに数字の書かれた画像ファイルを使えば
見栄えのいいグラフィカルカウンタを作ることができるが、
本講座はかつて行われたCGI講座の「リプレイ」であり、
そして内容はここまでで終わったので
本講座はこれにて終了することにする。
CGI講座・リプレイ −完−
---------------------------------------------------------------------
発行人: 塚田 伊助
発行所: 伊助の鍛錬場 http://isukenet.s20.xrea.com/
連絡先: isuke_tukada@hotmail.com
もどる