◆動作サンプル ※書き込みはできません。
- 単なるクイズCGIです。
- 問題&回答の設定はブラウザ上から作成出来ます。(複数の問題登録が可能…1つの問題に対しての問題数は制限無し)
- 問題の作成及び更新等の管理は「管理人のみ」となります。
- 回答結果のログもブラウザ上から削除可能。※修正機能は無し
- 回答パターンは以下の3通り。
- 「答え」を入力させるパターン
- 「答え」を選択させるパターン(複数回答候補から1つ選択させる)
- 「答え」を選択させるパターン(複数回答候補から複数選択させる(AND…全て正解を答えないと不正解))
- 「答え」を選択させるパターン(複数回答候補から複数選択させる(OR…正解のどれか1つ答えると正解))
- ランキング機能
- 同じ名前+ホスト情報でランキングを管理します。
- 携帯対応
- 不正防止機能付き。「ブラウザの戻る」及び「ブラウザのページ更新(本当はエラーにしたくなかったんだけど(^_^;)」はエラーとしてその場でゲーム終了となります。
■u-mu.cgiをエディタで開いて設定を行います。#!/usr/local/bin/perl
(Perlへのパスを指定。※プロバイダによって異なりますので不明な場合はプロバイダーへ質問してね)
$logfile = ‘./u-mu.txt’;
(プレイヤーのゲーム中の情報を管理するファイルです)…特に修正する必要はありません
※問題No+名前+リモートホスト単位で1件データが作成されます。
よって、1台のパソコンで同時にブラウザを開いて同じ問題+名前でゲームしたとしても
片方の情報しか管理出来ませんので、2回目にゲーム開始した側は「不正行為」をしたと
判断されます。
※ゲーム途中で違うページを表示したりブラウザを閉じると、同ファイルにデータが残ってしまいますが
ゲーム開始時刻から6時間以上経過したら自動的にそのデータを削除します。
$q_cnt = 1;
#問題を選択するプルダウン表示件数(一度に表示する件数)
▼$q_cnt=1の場合![]() | ▼$q_cnt=5の場合![]() |
$Qcount = 10 ; #PC時
$Qcount_k = 3 ; #携帯時
#1つの問題Noに対しての1画面で入力する問題数を指定。※1つの問題での問題数の限度はありません。
$QComm = 1;
#問題に対する「回答」について『備考』を入力する欄は必要?(0:不要 1:必要)
#PC時
$q_textflg = 1; #「問題」入力部は?(0:1行テキストボックス 1:複数行テキストボックス)
$q_col = 60 ; #「問題」入力部の文字数
$q_row = 3 ; #「問題」入力部の行数 ※複数行テキストボックス時のみ
$b_textflg = 1; #$QComm=1(備考有)の場合、「備考」入力部は?(0:1行テキストボックス 1:複数行テキストボックス)
$b_col = 60 ; #$QComm=1(備考有)の場合、「備考」入力部の文字数
$b_row = 2 ; #$QComm=1(備考有)の場合、「備考」入力部の行数 ※複数行テキストボックス時のみ
$b_width = ‘50%’; #$QComm=1(備考有)の場合、「備考」を表示する際のテーブル幅
#携帯時
$q_textflg_k = 1; #「問題」入力部は?(0:1行テキストボックス 1:複数行テキストボックス)
$b_textflg_k = 0; #$QComm=1(備考有)の場合、「備考」入力部は?(0:1行テキストボックス 1:複数行テキストボックス)
$ansdisp = 2;
#問題回答後、次の問題が表示された際に、前の問題の回答が正解か不正解かを表示する?
#0:表示しない
#1:表示する(正解か不正解かだけを表示)
#2:表示する(回答も表示する)
#初期画面の「ランキング表示」のプルダウン内に「最終更新日」を表示する?(0:no 1:yes)
$upflg = 1;
#問題毎に「名前」が重複したらエラーとする?(0:no 1:yes)
#$dup=1の場合、重複の判断を行う為、画面上に「パスワード」が追加されます(必須)
#同じ名前でパスワードが違う場合はエラーとなります。
$dup = 1
■名前の重複はエラー($dup=1)の場合 初めて使用した時の「名前」と「パスワード」が記録され、同じ名前で2回目以降は「初回入力時のパスワード」でなければエラーとなります。■名前の重複はエラーにしない($dup=0)の場合 他人が自分と同じ「名前」を使用してもエラーとならないので、自分の記録が上書きされてしまいます。 |
$HEAD_COMMENT
#初期画面上部に何か表示したい文章があれば記述。(PC)
$HEAD_COMMENT_K
#初期画面上部に何か表示したい文章があれば記述。(携帯)
#▼入力フォームの文字
$lbl_ques = ‘問題 –>’; #初期画面の「問題 –>」に表示する文字(PC)
$lbl_ques_k = ‘▼問題<br />’; #初期画面の「問題 –>」に表示する文字(携帯)
$lbl_name = ‘お名前 –>’; #初期画面の「お名前 –>」に表示する文字(PC)
$lbl_name_k = ‘▼お名前<br />’; #初期画面の「お名前 –>」に表示する文字(携帯)
$lbl_rank = ‘ランキング表\示’; #「ランキング表示」に表示する文字(PC)
$lbl_rank_k = ‘ランキング表\示’; #「ランキング表示」に表示する文字(携帯)
$lbl_disp_k = ‘選択’; #初期画面の「問題を選択」に表示する文字(携帯のみ)
$lbl_ok = ‘ — OK –‘; #回答中画面の回答用ボタンに表示する文字(PC)
$lbl_ok_k = ‘ — OK –‘; #CC3300
#投稿時に管理者にメール送信する場合、sendmailのパスを指定
#プロバがsendmailに対応していなければなりません。詳細はプロバに質問して下さいね。
#※使用しない(又は、できない)場合は、$sendmail = “”;のようにして下さい!!
$sendmail = “”;
#メール送信先アドレス。(管理者のアドレス)…「@」の前には「\」を必ずつけてね。
「\」を付けないとInternalServererrorになるかも。
#(Sendmailを使わない場合は設定しても意味ありません)
$smail_address = “xxxxx@xxxx.com”;
$smpcolor = ‘#FF0000’; #問題更新画面での例文内の強調表示される文字色
$kyocolor = ‘#00FF00’; #問題内で強調表示(文字の前後で”*”)する場合の文字色
■各ファイルをサーバーへアップロードします。
ファイル名 | 説明 | パーミッション | 転送モード |
u-mu.cgi | 本体 | 755 | アスキーモード |
u-mu.txt | ゲーム中の情報を管理するファイル | 666 | アスキーモード |
logdir (問題&ランキングファイル保存用フォルダ) | 問題&ランキングファイルを保存するフォルダ | 777 | |
Q_nnn.ini (問題ファイル。 nnnには問題No.が入ります) (スクリプト側で自動作成します) | 問題ファイル | 666 | アスキーモード |
R_nnn.txt (ランキング管理ファイル。 nnnには問題No.が入ります) (スクリプト側で自動作成します) | ランキングファイル | 666 | アスキーモード |
jcode.pl | 日本語コード変換ライブラリ | 755 | アスキーモード |
※パーミッションはプロバイダーによって上記以外の設定となる事がありますので、
設置出来ない場合は、一度プロバイダーのサイトなりで調査してみて下さい。
※自動作成するファイルは、サーバーによって自動作成出来ない場合があるかもしれませんので
もし問題登録時にエラーとなる場合は、各自テキストエディタで空の「Q_001.ini」、「R_0001.txt」等
を作成しサーバーへアップロードしてください。
■問題&ランキングファイル保存用フォルダ($logdir)をサーバーに作成してください。
パーミッションは777にして下さい。(プロバイダーによっては異なるかもしれませんので
不明な場合はプロバイダーに確認してください)
※パーミッションはサーバー管理者から指定されている値で設定して下さい。
■問題の登録方法 |
初期画面下部にある「問題No.」に番号を入力(まだ登録していない番号を入力) 「問題のタイトル」と「問題に対する説明文」を入力 ※「問題のタイトル」は必須 問題登録:「答え」を入力させるパターン ↓「備考欄」は、回答表示有り($ansdisp=2(回答も表示する))の場合、以下のように表示されます 又、強調したい文字がある場合は、文字の前後に「*」を入力すると以下のようになります。 「*」の指定は1問につき1回のみです ex. 【*盲点*】 「答え」を選択させるパターン(複数回答候補から1つ選択させる) ◎「回答候補」…回答として表示する候補を入力して下さい。 ※回答候補を複数する場合は半角カンマで区切って下さい。 ex. りんご,トマト,バナナ ◎「正解」 ・「回答候補」を入力した場合、「回答候補」で指定した候補の内、正解となる番号(回答候補の何番目か)を入力して下さい。 ・「回答候補」を省略した場合、正解となる文字を入力して下さい。 ※指定例:「回答候補入力時」→《赤、青、黄、緑、白》で、正解が「赤、青、緑」の場合「正解」には【1,2,4】と入力して下さい ※複数正解の場合は、番号を半角カンマで区切って下さい。 例:1,2,5 ※指定例:「回答候補省略時」→正解欄には【これが正解です】等と文字を入力 ▼「答え」を選択させるパターン(複数回答候補から複数選択させる(AND…全て正解を答えないと不正解)) ◎「AND/OR」は「正解」が複数回答有る場合、全て一致で正解とするか一部正解で正解とするかの指定です ▼「答え」を選択させるパターン(複数回答候補から複数選択させる(OR…正解のどれか1つ答えると正解)) 画面内の問題を入力し終えたら「登録ボタン」を押下する事によって、そのページの問題が作成されます。 問題が登録されました。 引き続き問題を登録したい場合は「続きの問題を登録するボタン」を押下してください。 続きの問題を登録出来ます。 ※問題修正時も同じような手順となります。1画面毎に更新していきますので、修正したい問題が3画面目に存在している 場合は、3画面目まで1画面ずつ更新していくことになります。 ↓ 登録した問題が表示されました。 |
◆2007.07.24
・「最終更新日表示設定項目($upflg)」が機能していませんでした
・「回答候補未設定で正解複数回答有」に対応
◆2007.07.19
… Ver0.5正式版配布開始
◆2007.07.13
… Ver0.5 β3版配布開始
・名前重複チェック変更
・パスワード暗号化
・問題/ランキングファイルの拡張子を設定可能に
◆2007.07.12
… Ver0.5 β2版配布開始 (名前重複チェック指定…$dupの追加)
◆2007.07.10
… Ver0.5 β版配布開始