HOME
スタンプバンク管理用CGI改造のヒント - 1 -
スタンプバンク管理用CGIで、預かったスタンプの一覧を表示しますが、そこに預かったスタンプの合計枚数だけでなく、種類数も表示させる方法です。
個々の預かり帳を表示させたときにスタンプの種類数も表示されるので、必要ないといえばないのですが。
こんなものを賞品にするのも気が引けますが、選んでくださったのだからいいとします(笑)
まず、注意ですが、
  • 現在配布しているものについて、説明しています。
    スクリプトbankkanri.cgiの最初の方に最終更新日時を示しています。その最終更新日時が2007/4/4であることを確認してください。
    また、ご自身で手を加えている場合は、説明の行数等が違ってきますので、それをふまえて説明をお読み下さい。
  • 記述している行数は論理改行です。
    テキストエディタでは、行幅が決まっていると自動的に折り返され、それも1行と数える設定になっているものがありますが、それでは人によって行数が違って説明しにくい。 ここでは論理改行、つまり改行マークがあるところまでを1行と数えた行数で説明します。
    テキストエディタの環境設定で、論理改行で行数表示する設定があると思いますので、行数表示を論理改行でするようにしてください。
    私の使っている秀丸エディタなら、メニューバーの「その他」→「ファイルタイプ別の設定」→「行番号の計算方法」で、「エディタ的(改行だけを数える)」にチェックです。
  • 必ず、手を加えない状態で動作していることを確認してから、改造してください。
    動作確認せずにいきなり改造した場合、エラーになっても原因がわからなくなります。そうなると設置のアドバイスもできません。
    必ず一度はサーバにアップして動作確認をしてから改造してください。
    また、お使いのパソコン上でCGIが動くよう設定し、ローカルでテストしてからサーバへアップされることをお勧めします。
    あくまでご自分の責任で行ってください。
    "一つないだけでエラーになりますので、タイプミスに注意して、慎重に行ってください。コピー&ペーストするといいです。
  • 説明をご覧になるときのヒント。
    画面幅の関係で折り返して表示されていますが、改行マークのあるところが改行の目印です。
    スクリプトを抜粋して表示します。
    手を加える前

    手を加えた後
    のようにして表示しますので、参考にしてください。
  • それでは、方法を説明します。

    bankkanri.cgiの438行目を次のように変更します。

    <tr><th>削除</th><th>お名前</th><th>ホスト</th><th>スタンプ預かり帳作成日時</th><th>スタンプ預かり帳最終利用日時</th><th>預かっているスタンプの合計</th><th>スタンプ預かり帳</th></tr>改行マーク
    <tr><th>削除</th><th>お名前</th><th>ホスト</th><th>スタンプ預かり帳作成日時</th><th>スタンプ預かり帳最終利用日時</th><th>預かっているスタンプの合計</th><th>種類数</th><th>スタンプ預かり帳</th></tr>改行マーク

    次に、bankkanri.cgiの446行目を次のように変更します。
    print "</td><td>$dat[3]枚</td><td><table border=1 cellspacing=0>\n"改行マーク
    print "</td><td>$dat[3]枚</td><td>";改行マーク
    my %count;改行マーク
    my @skind = grep(!$count{(split /:/,$_)[0]}++,@dat[6..$#dat]);改行マーク
    print scalar(@skind);改行マーク
    print "種類</td>
    <td><table border=1 cellspacing=0>\n";改行マーク

    以上で、スタンプバンク管理用CGIで、預かり帳一覧を表示させたとき、種類数も表示されるようになります。
    サーバへアップロードしてください。

    スタンプ帳CGIサンプルへ

    期間限定スタンプ帳CGI Ver.0.4