Back

席替え占いCGI Ver.0.21

(2005.7.16最終更新)

特徴 / Sample / ダウンロード / 設置方法 / その他/

特徴

  1. CGIを利用した占いです。40人学級の席替えという設定。
  2. 占いはクッキーを利用して、一日一回しかできないようになっています。
  3. 生徒の名前は40人まで、いくつでも設定できます。マス(席)の色やアイコン(画像)も設定可能。
  4. 感想用BBS付き。感想と名前の他、そのときの席替え結果も記録します。

○サンプル

  • 席替え占い
  • 生徒の名前は適当です。
  • 感想用BBSの管理用パスワードはmasterです。

○ダウンロード

    下から、設置に必要なファイルがダウンロードできます。
    (指定した名前をつけて保存してください。指定がないときはそのファイル名で)

  • sekigae.txt-----席替え占いCGIスクリプト。DL後、cgiに拡張子を変更してください。
  • sekigaebbs.txt-----席替え占い用BBSスクリプト。DL後、cgiに拡張子を変更してください。
  • classroom.gif-----座席表の画像(説明用)
  • index.html-----席替え占いのボタンのあるページ(ファイル名は違ってもOKです。サンプルと思ってください。)
  • style.css-----外部スタイルシートファイル
  • list.dat---生徒リストファイル

○設置方法

  1. あなたのサーバーでCGIが使えるかどうか確認する。
  2. CGIの設定を変更する。
      テキストエディタで、sekigae.cgi、sekigaebbs.cgiを開き、以下の項目を修正してください。
       また、全てのファイルは同じフォルダに入れてください。(違うフォルダに入れる場合は、それにあわせて項目を修正してください。)
      1行目以外の #(シャープ)で始まる行、または行の#(シャープ)から後の部分はコメントなので、削除して結構です。改行には注意してください。

      (Perlパスが同じなら、先に、アップロード、パーミッション変更をして、正常に動作することを確認してから設定を修正してください。)


      sekigae.cgi 修正箇所(印は変更必須。 「例」の赤字の部分を修正する。)
      修正項目説明
      (1行目)Perlパスサーバの定めるPerlへのパス。
      (設置予定のサーバ管理者にお尋ね下さい。たいていはサーバのサイトに説明があります。)
      perlが/usr/local/binにある場合
      #!/usr/local/bin/perl
      (8行目)生徒リストファイル名生徒の名前と席の色、画像を指定したファイル名。自由につけてかまいませんが、sekigaebbs.cgiと同じものにしてください。英数半角です。my $listfile = "list.dat";
      (9行目)クッキー名英数半角で、オリジナルな名前にしてください。my $cookie_name = "sekigaekekka";
      (10行目)スタイルシートファイル名外部スタイルシートファイル名。my $stylesheet = "style.css";
      (11行目)BODYタグ背景画像やリンク色などを設定できます。(背景画像等はスタイルシートファイルでも設定可。)my $body = "<body>";
      (12-14行目)HOMEへのリンク席替え結果の上部と下部に表示されるリンク。HTMLタグで記述。'(シングルコーティション)は使用しないこと。my $home = '
      <a href="../index.html">Home</a>
      ';
      (15行目)感想用BBSのCGIファイル名my $bbscgi = "sekigaebbs.cgi"
      (16行目)生徒リストファイルで設定した名前以外の生徒名半角アルファベットで。生徒リストファイルで設定した名前の数を40から引いた数だけ、一文字ずつ前から使用する。my $sonota = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn"
      (17行目)生徒リストファイルで設定された席以外の席の色色の名前か、16進数で指定する。my $sonotacolor = "white"

      sekigaebbs.cgi 修正箇所(印は変更必須。 「例」の赤字の部分を修正する。)
      修正項目説明
      (1行目)Perlパスサーバの定めるPerlへのパス。
      (設置予定のサーバ管理者にお尋ね下さい。たいていはサーバのサイトに説明があります。)
      perlが/usr/local/binにある場合
      #!/usr/local/bin/perl
      (8行目)jcode.plを呼び出す日本語変換perl(jcode.pl)を呼び出す。
      (CGI本体から見たパスまたは絶対URLを含むファイル名)
      jcode.plをsekigaebbs.cgiと同じ場所に置いた場合
      require 'jcode.pl';
      (9行目)BBSデータファイル名BBSのデータファイル。自由につけてかまいません。英数半角で。my $datafile = "bbs.dat";
      (10行目)生徒リストファイル名生徒の名前と席の色、画像を指定したファイル名。自由につけてかまいませんが、sekigae.cgiと同じものにしてください。英数半角です。my $listfile = "list.dat";
      (11行目)管理用パスワードBBSの管理用パスワード。英数半角で。大文字小文字も区別するので注意してください。my $password = "master";
      (12行目)BBSタイトルmy $title = "席替え結果BBS";
      (13行目)CGIファイル名このBBSのCGIファイル名my $cgi = "sekigaebbs.cgi";
      (14行目)スタイルシートファイル名外部スタイルシートファイル名。my $stylesheet = "style.css";
      (15行目)ログ保持日数ここで設定した日数より古いログは、書き込み時に自動的に削除される。半角で。my $deletedays = 10;
      (16行目)BODYタグ背景画像やリンク色などを設定できます。(背景画像等はスタイルシートファイルでも設定可。)my $body = "<body>";
      (17-19行目)HOMEへのリンク席替え結果の上部と下部に表示されるリンク。HTMLタグで記述。'(シングルコーティション)は使用しないこと。my $home = '
      <a href="../index.html">Home</a> - <a href="sekigae.cgi">席替え占い</a>
      ';
      (20行目)生徒リストファイルで設定された席以外の席の色色の名前か、16進数で指定する。sekigae.cgiと同じにすること。my $sonotacolor = "white"
      (21行目)1ページあたりの記事数半角数字で。my $kiji = 10
      (22行目)席替えした人の名前生徒リストファイルで設定された名前のうち、席替えした人を示す名前。BBSでは記事を書き込んだ人の名前と置き換える。my $honnin = "あなた"
      (23行目)ロックディレクトリ名英数半角で。同じディレクトリにあるディレクトリ名やCGIのロックディレクトリ名とかぶらないように。my $lockdir = "lockbbs"
      (24行目)データ送信形式postまたはgetにする。通常はpostで。my $kiji = "post"

  3. 生徒リストファイルを作成する。
      テキストエディタで作成します。ファイル名は何でもかまいません。サンプルとしてlist.datがダウンロードできます。
      (sekigae.cgiとsekigaebbs.cgiの生徒リストファイル名の個所をここで作成したファイル名に変えます。)

      1行が一人の名前・席色・アイコン(画像)のデータになっています。
      タブ区切りで、
      名前(タブ)席色(タブ)画像ファイル(改行)
      という形式です。席色は、色の名前か、16進数で指定で指定します。
      画像ファイルは拡張子まで記述してください。使用できるのはgifかjpgかpng。つまりwebで表示できる画像形式です。
      名前は必須ですが、画像ファイルや席色は設定しなくてもOK。その場合は空欄にしてください。
      名前と画像だけを設定するなら、
      名前(タブ)(タブ)画像ファイル(改行)
      という形になります。

      席替えした人を表す名前を必ず設定してください。感想BBSでは、記事を書き込んだ人の名前と置き換えられる分です。
      生徒名は40人を越えないようにしてください。

  4. BBSデータファイルを作成する。
      空ファイルを作って名前をつけます。ここでつけた名前をsekigaebbs.cgiの設定に反映させてください。

  5. スタイルシートの設定を変更する。
      ページの上部と下部のHOME等へのリンク部分は、クラスを定義しています。クラスの名前については、スタイルシート(style.css)に書いてあります。
      タイトルはH2タグで表示しますので、タイトル部分のスタイルを変更したいときは、H2のスタイルを変更します。

  6. サーバーにアップロードする。
       FTPソフトでサーバーに、sekigae.cgi, jcode.pl, style.css, sekigaebbs.cgi、生徒リストファイル、BBSデータファイルをアップロードしてください。そのとき、必ずアスキーモード(テキストモード)にすること。
       次に画像をアップロードしてください。こちらはバイナリモードで。

  7. パーミッションを変更する。
    • sekigae.cgiとsekigaebbs.cgiのパーミッションを755に変更する。
    • BBSデータファイルのパーミッションは666に変更する。
      ただし、サーバの設定を優先してください。サーバの設定についてはサーバ管理者にお尋ねください。(たいていはサーバのサイトに書いてあります。)

  8. 動作確認をする
      動作や表示を確認してください。

○その他

更新履歴。
◆Ver.0.2-----2004年11月20日、作成。2005年6月19日、公開。
◆Ver.0.21----2005年7月15日、ミスの訂正。
  • クッキーの設定ミスで、24時間経過しても新しく席替えができないようになっていたのを訂正。ついでに新しく席替えできるようになるまでの時間を表示。
  • 席替え用BBSで、コメントにレスをつけると2つめのレスからは何も書いてない記事が挿入されるようになっていたのを訂正。
  • 席替え用BBSで、コメントのレスを削除するとき、余分な記事が挿入されたり、正しく削除されないミスを訂正。
◆Ver.021----2005年7月16日、sekigaebbs.cgiのミス訂正。
  • あちこちタイプミス等がありましたので、その訂正。すみませんでした。

Ver.0.1との違い
設定できる人数を自由にした(Ver.0.1は本人含めて4人)のと、感想用BBSをつけたこと。スタイルシートも使ってるし、スクリプトの作りも全く違います。
今後の予定
作成はずっと前だったが、公開が遅くなったのは説明を書くのが面倒だったから。
自分用だから管理機能等は最低限ですが、こんなものでも欲しい人はいるかなと思って公開することにしました。
今後の予定としては名前を訪問者が登録し、一定人数または期間になったら席替えを実施する、というものにしたいなと思っています。

2005年7月1日、cgiがDLできないと指摘がありましたので、拡張子をtxtに変え、DLできるようにしました。
DL後、拡張子をcgiに変更してください。

一言フォーム。

一言フォームです、足りない場合は管理者宛私書箱へどうぞ。

もどる