**三択・五択プラグイン [#o10fe8ab] |RIGHT:70|LEFT:410|c |~バージョン|1.4| |~投稿者|[[reimy]]| |~状態|完了| |~投稿日|&new{2003-08-29 (FRI) 08:38:43};| ***メッセージ [#dea270ad] 三択や五択のプラグイン。 :仕様| +問題と回答(選択肢)及び回答に対する点数を:config/plugin/gotaku/hogehoge で設定 +#gotaku(hogehoge)というようにプラグインを設置したページに問題と選択肢を表示(1ページ1問ではなく、1ページに複数(すべて)の問題を表示)、選択したデータを送信 +選択された回答に基づいて点数を計算し、表示するとともに、ファイルに記録。 +#gotaku(hogehoge,disp)というようにプラグインを設置した場合は、問題ではなく、点数順の順位と名前を表示。表示方法は:config/plugin/gotaku/hogehoge/disp で設定。 +回答時にipを記録しておいて、(低レベルだけど)重複回答を防ぐようになっているとなおよい。 :おまけ| -問題を1問しか作らなければ、投票結果を改竄されないvoteプラグインの代用として使えるので、voteプラグインに不満の人も利用できる。 :サンプル| -#gotaku(gomaki) > CENTER:&color(crimson){&size(18){【あなたと後藤真希の相性診断】};}; ++あなたの好きな色は?&br;&radio{白}; &radio{赤}; &radio{緑}; ++あなたのよく行くところは?&br;&radio{上野}; &radio{渋谷}; &radio{原宿}; ++あなたの好きな制服は?&br;&radio{東京女学館}; &radio{目白}; &radio{白百合}; ~&br;&button{送信}; < > CENTER:あなたと後藤真希との相性は&br;&color(crimson){&size(24){48点/100点};}; < -#gotaku(gomaki,disp) > |順位|名前|点数|h |~1|ほげほげ|94| |~2|へろへろ|86| |~3|名無しさん|62| |~4|はれほれ|48| < ***コメント [#sf49789a] -[[sha]] &new{2003-08-29 (FRI) 18:31:06}; ~これは、アンケートや試験で使えるようなイメージでしょうか?何かのシチュエーションで使う予定とかありますか? http://fuzoku-fusen.com/ ~これは、アンケートや試験で使えるようなイメージでしょうか?何かのシチュエーションで使う予定とかありますか? --[[reimy]] &new{2003-08-30 (SAT) 02:20:03}; ~懐かしの[[ごたくDOS:http://www.vector.co.jp/soft/dos/game/se000914.html]](無料)や[[ごたくClassic:http://www.vector.co.jp/soft/win31/game/se017782.html]](無料)のオンライン版のようなものを想定しています。CGIでは[[WWWQ:http://www.yumei.com/wwwq/]](年間2000円)や[[TakaQ:http://www.mytools.net/cgitools/quiz2.html]](無料)がありますが、同様のことをPukiWIki上でやりたい。 ~これらと少し異なるのは、選択肢の中の1つが正解…というのではなく、選択肢それぞれに点数によるウエイトを設定し、合計点で順位付けするという点(上記のものでは、選択肢の1つが正解とするため、正解率で順位付けされる)。 -[[sha]] &new{2003-08-29 (FRI) 19:21:58}; ~tracker.inc.phpの機能のサブセットと捕らえると、作りやすいかもしれません。というか、選択肢を表示する部分が#trackerで、名前と得点の一覧を表示する部分が#tracker_listだとすると、得点集計以外の機能が実現できてるような気がします。しかも、#tracker_listは各項目でソートまで出来るので、とても高機能ですし。 --[[reimy]] &new{2003-08-30 (SAT) 02:43:03}; ~tracker.inc.phpだと、解答者ごとにページが作成されて、解答した内容がページとして保存されてしまうんですよねぇ(記録しないようにもできますが、ページが作成されることは避けられない)。解答者の個々の解答はページで保存されるとプライバシーに関わるのでおいしくないです。また、ページとして保存されると改竄が可能ですし。 --[[sha]] &new{2003-08-30 (SAT) 05:37:18}; ~結局tracker.inc.phpとは全く独立に作ってしまいました。選択肢の内容を質問シートの要領で記載したかったし、trackerのconfigの使い方では複雑すぎると思ったので。 ~ところで、IPってどうやって知るのでしょうか?$varsには入ってないようですが。 ---[[reimy]] &new{2003-08-30 (SAT) 06:24:13}; ~init.phpの下記の部分にREMOTE_ADDRを追加すれば取得できると思います。 // 初期設定 (サーバ変数) foreach (array('HTTP_USER_AGENT','PHP_SELF','SERVER_NAME','SERVER_SOFTWARE','SERVER_ADMIN') as $key) { define($key,array_key_exists($key,$_SERVER) ? $_SERVER[$key] : ''); } -[[sha]] &new{2003-08-30 (SAT) 05:33:35}; ~ここで「[[sha:gotaku.inc.php]]」で実験してます。まだデバッグ中ですが、なんとか動いてます。まだ、dispは未実装です。 --[[reimy]] &new{2003-08-30 (SAT) 06:29:24}; ~質問ごとに配点を設定するのではなく、各質問の選択肢ごとに配点を決めたい。上記のサンプルで言えば、白に10点、赤に5点、緑に1点というように。 -[[sha]] &new{2003-08-31 (SUN) 12:13:49}; ~なかなか手ごわかったですが、一応出来ました。「[[自作プラグイン/gotaku.inc.php]]」を御参照下さい。なんか動いているようです。 -[[reimy]] &new{2003-08-31 (SUN) 23:26:29}; ~ありがとうございますm(__)m --[[sha]] &new{2003-08-31 (SUN) 23:37:02}; ~どういたしまして。ところで、たった今''gotaku.inc.php.2''にアップデートしました。名前のデフォルト値が入らないバグに対応しました。 #comment //#comment