バージョン | 1.4 |
---|---|
投稿者 | reimy |
状態 | 完了 |
投稿日 | 2003-08-29 (FRI) 08:38:43 |
三択や五択のプラグイン。
【あなたと後藤真希の相性診断】
- あなたの好きな色は?
&radio{白}; &radio{赤}; &radio{緑};- あなたのよく行くところは?
&radio{上野}; &radio{渋谷}; &radio{原宿};- あなたの好きな制服は?
&radio{東京女学館}; &radio{目白}; &radio{白百合};
&button{送信};
あなたと後藤真希との相性は
48点/100点
順位 名前 点数 1 ほげほげ 94 2 へろへろ 86 3 名無しさん 62 4 はれほれ 48
これは、アンケートや試験で使えるようなイメージでしょうか?何かのシチュエーションで使う予定とかありますか?
懐かしのごたくDOS(無料)やごたくClassic(無料)のオンライン版のようなものを想定しています。CGIではWWWQ(年間2000円)やTakaQ(無料)がありますが、同様のことをPukiWIki上でやりたい。
これらと少し異なるのは、選択肢の中の1つが正解…というのではなく、選択肢それぞれに点数によるウエイトを設定し、合計点で順位付けするという点(上記のものでは、選択肢の1つが正解とするため、正解率で順位付けされる)。
tracker.inc.phpの機能のサブセットと捕らえると、作りやすいかもしれません。というか、選択肢を表示する部分が#trackerで、名前と得点の一覧を表示する部分が#tracker_listだとすると、得点集計以外の機能が実現できてるような気がします。しかも、#tracker_listは各項目でソートまで出来るので、とても高機能ですし。
tracker.inc.phpだと、解答者ごとにページが作成されて、解答した内容がページとして保存されてしまうんですよねぇ(記録しないようにもできますが、ページが作成されることは避けられない)。解答者の個々の解答はページで保存されるとプライバシーに関わるのでおいしくないです。また、ページとして保存されると改竄が可能ですし。
結局tracker.inc.phpとは全く独立に作ってしまいました。選択肢の内容を質問シートの要領で記載したかったし、trackerのconfigの使い方では複雑すぎると思ったので。
ところで、IPってどうやって知るのでしょうか?$varsには入ってないようですが。
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:gotaku.inc.php」で実験してます。まだデバッグ中ですが、なんとか動いてます。まだ、dispは未実装です。
質問ごとに配点を設定するのではなく、各質問の選択肢ごとに配点を決めたい。上記のサンプルで言えば、白に10点、赤に5点、緑に1点というように。
なかなか手ごわかったですが、一応出来ました。「自作プラグイン/gotaku.inc.php」を御参照下さい。なんか動いているようです。
ありがとうございますm(__)m
どういたしまして。ところで、たった今gotaku.inc.php.2にアップデートしました。名前のデフォルト値が入らないバグに対応しました。