- 予想大会用 CGIとは
当サイトで配布している競馬投票CGIに馬券投票の機能を追加し、そのデータを元に集計・順位付け表示を出来るようにしたものです。
一連の流れのほとんどを自動で出来るようになるので、予想大会における管理人の手間がかなり削減できると思います。
Perl Ver.5以上で動作します。Perl Ver.4では動作しません。
- 基本機能
競馬新聞のように馬柱に印を打つことができます。
独自のコメントの入力も可能です。
ユーザー登録(登録方法は管理者にお任せ)することにより馬券方式の投票もすることが出来ます。
#管理者パスワードで、代理投票も出来ます。
その後、投票されたデータを元に集計→順位表示を行えます。
- ファイル構成
競馬投票に必要なファイル下記のとおりです。<多いな。(^^;;
| No. | ファイル名 | パーミッション | 備考 |
| | [設置ディレクトリ] | 755 | CGIを動作させるディレクトリ |
| 1 | ├ versus.cgi | 755 | 競馬投票&馬券投票 |
| 2 | ├ make_bachu.cgi | 644 | 馬柱作成 |
| 3 | ├ bar.gif | 644 | 人気指数部でのグラフ用画像 |
| 4 | ├ mark.gif | 644 | 馬券背景画像 |
| 5 | ├ ranking.cgi | 755 | 投票データ集計および表示用CGI |
| 6 | ├ useradd.cgi | 755 | 予想大会参加者登録用CGI公開・非公開は管理者にお任せします。 |
| 7 | ├ init.cgi | 644 | 設定全般を記述したファイル |
| 8 | ├ user.cgi | 666 | 予想大会参加者データ データファイルですが、セキュリティ強化のためあえてデフォルトで.cgiという拡張子にしています。 |
| 9 | ├ ranking.dat | 666 | 成績ファイル |
| 10 | ├ ranking.html | 644 | 成績表示用フォーマット記述 HTML |
| 11 | ├ ranking.log | 666 | 集計済みレースIDの保存ファイル |
| 12 | ├ ranking.txt | 666 | 成績表示内、管理者コメントファイル |
| 13 | ├ ranking.bak | 666 | 成績ファイルのバックアップファイル |
| 14 | ├ ranklog.bak | 666 | 集計済みレースIDの保存ファイルのバックアップファイル |
| 15 | ├ jcode.pl | 644 | 定番の日本語変換ライブラリ |
| | └ [data] | 777 | レース設定ファイル格納ディレクトリ(設定により変更可) |
| 16 | ├[レースID].cgi | 644 | レースの設定(レース毎に) |
| 17 | ├[レースID].dat | 666 | 投票データ(レース毎に) |
| 18 | ├[レースID].vot | 666 | 馬券投票データ(レース毎に) |
| 19 | └[レースID].txt | 666 | 管理者コメントファイル |
パーミッションはサーバーやセキュリティなどによって変わりますので、環境に合わせて変更して下さい。
- 設置方法
FTP、パーミッション、改行コードなどの説明は省略させていただきます。
基本的なことはご自分で勉強してご利用下さい。m(_ _)m
versus.cgiとranking.cgiおよびuseradd.cgiの1行目のPerlの場所を必要があれば変更します。
他に、設定が必要な場所として下記の2設定がありますが、通常は変更する必要はありません。
require 'init.cgi';
$reload = 'useradd.cgi';
次にinit.cgiを記述にしたがって必要な箇所を変更してください。
必要であれば、ranking.htmlを好みのイメージに変更します。※下記、「ranking.htmlについて」を参照
ファイルNo.1〜12およびjcode.plをサーバー上にアップし、必要なパーミッションを設定します。
次に、init.cgiに設定したディレクトリにレース設定ファイルNo.16〜19を設置して下さい。
No.18,19は、レース設定ファイルダウンロードに含まれていません。ご自分でレース毎に準備して下さい。m(_ _)m
ここで、<設置ディレクトリ>/versus.cgi?id=[レースID]を実行してみて下さい。
正常に動けば、馬柱が出てくるはずです。
ここまで行けば、あとは動作確認後にご自分のセンス(?)で公開して下さい。
おまけ1:jcode.plの動作について
jcode.plの設置ミス<改行コードやパーミッションにより、ファイルは存在するが動かない。
だだ書きですが、こんなのが動かなければ、jcode.plの設置ミスです。(^^;;
---------------------------------------------------------------------
#! /usr/local/bin/perl
#Perlの場所とjcode.plの場所は環境に合わせて下さい。
require 'jcode.pl';
print "Content-type: text/html\n\n";
print "<HTML><HEAD><TITLE>jcode.pl動作テスト</TITLE></HEAD><BODY>\n";
$dummy = "表示する。編集する?予想する!";
&jcode'convert(*dummy,'sjis');
print "Shift_JIS:$dummy\n";
print "<P><FONT size=+2><B>jcode.plは正常に動作しています。</B></FONT>";
print "</BODY>\n";
print "</HTML>\n";
---------------------------------------------------------------------
- 公開について
公開方法はいろいろだと思いますが、一般(?)的な公開方法で説明させていただきます。
まず、最低限versus.cgiとranking.cgiは公開する必要があります。
その他に予想大会を行うには、ユーザー設定ファイル(user.cgi)が必要になります。
このファイルはuseradd.cgiを公開して各ユーザーに自分で登録していただくか、メールや掲示板にて参加者受付をして、管理者からユーザーIDとパスワードを連絡する方法が考えられます。
ちなみに、私のページではuseradd.cgiを公開する方法を取っています。<作ったんだから、当たり前か。(笑)
user.cgiに最低限必要なデータは、UserIDとPasswordのみです。これを1行に1ユーザーとして、カンマ区切りで作成していただいても構いません。
次にversus.cgiにて参加者に投票を行っていただきます。
ここで重要なのが、UserIDと同じ名前で投票を行っていただくということです。
まず、競馬投票CGIと同じように馬柱に印を打っていただくと、UserIDがuser.cgiに登録されている方のコメント欄に[馬券投票]というボタンが表示されます。
このボタンから馬券投票を行ってもらって下さい。
そして、レース終了後に集計を行うことになります。
ここで、ranking.cgiにアクセスして、下の管理者ログインから管理者メンテナンス画面に進んで、集計を行って下さい。
#メンテナンス画面は、見ていただけばわかると思います。<そのように作成したつもり。(^^;;
作成されたら、順位表が表示されます。表示されない場合は、設定を見直して下さい。
おまけ2:私の運用方法
あまり意味はないかもしれませんが、当サイトでの運用方法を簡単に。(^^;;
- レース設定ファイルはディレクトリを用意し、そのディレクトリに格納<[2001]など
- ディレクトリ分けは、ある程度の時期毎に変更していく。<レース設定ファイルが増えすぎるため
- レース終了後、ある程度の時期が経過したら、画面を保存しHTMLファイルにして、そのHTMLファイルを公開。
- 投票データなどは、自分のハードディスクなどにバックアップ
- ranking.htmlについて
成績一覧表示については、イメージをHTMLとして外部ファイルを持ち、そのファイルに従って表示するようにしました。
これにより、画一的な成績一覧ではなく、自由なイメージに変更できると思います。
「的中率はいらない」とか「総合の集計だけあれば十分だ」などですね。(^^;;
ファイル内の数カ所に<!--comment-->のようにコメントとして挿入されている所があります。
これが、表示用の設定になります。それぞれの内容は下記の通りです。
| No. | オプション | 備考 |
| 1 | <!--comment--> | 管理者コメント挿入位置 |
| 2 | <!--addup_date--> | 更新日付挿入位置 |
| 3 | <!--addup_race--> | 最終集計レース名挿入位置 |
| 4 | <!--addup_count--> | 集計済みレース数挿入位置 |
| 5 | <!--loop--> | この間にNo.7以降を記述することで人数分の順位ループを行う |
| 6 | <!--loop_end--> |
| 7 | <!--rank--> | 順位 |
| 8 | <!--before_rank--> | 前回順位 |
| 9 | <!--name--> | 名前 |
| 10 | <!--point--> | 今回取得ポイント |
| 11 | <!--total_point--> | 総合ポイント |
| 12 | <!--hit_cnt--> | 的中回数 |
| 13 | <!--ent_cnt--> | 参加回数 |
| 14 | <!--hit_rate--> | 的中率 |
| 15 | <!--vote_point--> | 総投票合計 |
| 16 | <!--rec_rate--> | 回収率 |
No.1〜6は1行にこのオプションのみを記述します。
詳細データの表示はNo.5とNo.6の間に記述します。
この方式に従って、自由に表示イメージを変更して下さい。
この説明とファイルを見て理解出来ない場合は色設定やBODYタグを変更する程度にすることをお奨めします。
このHTMLファイルの変更に伴う不具合に関しては、サポートいたしません。m(_ _)m
- 著作権
このソフトは無料で提供しますが、著作権は放棄していません。
改修・改良は自由ですが、著作権表示であるうめ馬へのリンクは削除・編集しないで下さい。
商用での利用および再配布は、基本的に認めません。
- 更新履歴
2001/08/05 予想大会用の総合環境の正式版を公開
2001/11/06 競馬投票CGI 馬券Plus!に人気指数表示の機能追加
- 動作サンプル
動作サンプルはおいていません。
当サイトにて予想大会を行っているので、そちらで雰囲気を掴んで下さい。m(_ _)m
- ダウンロード
ダウンロードのページよりダウンロードして下さい。