人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下の3つ条件を満たす携帯電話のクイズシステム(CGIまたはPHP)を探しています。

1.携帯電話から解答・問題作成ができる。
2.解答は、2択・3択・4択などの選択問題
3.解答後は、正解・不正解の表示のあと、解説が表示される。

1.2を満たすクイズシステムとして「QUIZ4-i」(http://www.cj-c.com/cgi_s/qi.htm)があり、利用しようと思いましたが、解答後の解説が表示されるものを探しています。または、「QUIZ4-i」をカスタマイズできる方を探しています。よろしくお願いします。

●質問者: HAYA
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:CGI PHP カスタマイズ クイズ システム
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● shintabo
●35ポイント

# DUMMY

# http://modperlis.bounceme.net

# 1.qq.datの正解番号の後ろに「解説<>」を追加

# 2.解説読み込み

#

# [まるつけ]

#

sub m_ {

.

.

.

($mondai,$a,$b,$c,$d,$ok,$exp)=split(/<>/,$LINE[$r]);

.

.

.

# 3.解説表示

#

# [問題表示]

#

sub q_ {

.

.

.

$html.= "$to-○$oa/×$ng<hr>\n";

$html.= "$exp<hr>\n";

.

.

}

# ちなみに、著作権とかダイジョブでしょうか?

# 3.改造しての配布や2次配布は著作権を削除しない限り自由です。

# とは、なっていますが、メールぐらいはした方がいいかもしれません

◎質問者からの返答

shintabo さんありがとうございます。

作者さんへは連絡をしておきます。また、問題を登録するときに解説を入力してもらいたいと思っており、それをどのように記述すればできるようになるかも教えていただけませんでしょうか?よろしくお願いします。


2 ● shintabo
●35ポイント

# DUMMY URL?

# http://modperlis.bounceme.net/

# かなり即興ですが・・・

# diffの見方は知ってますか??

# *************** を区切りに「qi.cgi.org(元CGI)」と「qi.cgi(追加したCGI)」が

# ならんでいます

# 「!」は修正で、「+」が追加した箇所になります

# あとは、行数を見つつ、変更してみてください

diff -cw qi.cgi.org qi.cgi

*** qi.cgi.org 2008-06-14 17:22:22.000000000 +0900

--- qi.cgi 2008-06-14 17:32:16.000000000 +0900

***************

*** 168,173 ****

--- 168,174 ----

$oa= $FORM{'oa'};

$ng= $FORM{'ng'};

$to= $FORM{'to'};

+ $exp= $FORM{'exp'};

$nu= $FORM{'nu'};

$r = $FORM{'r'};

$t = $FORM{'t'};

***************

*** 187,193 ****

if($ok==1){$ans.=$a;}elsif($ok==2){$ans.=$b;}elsif($ok==3){$ans.=$c;}else{$ans.=$d;}

if($maru==1){$m="○";}elsif($maru==0){$m="×";}elsif($maru==2){$m="時間切れ";}

if($Ans_p){$ans="";}else{$ans.="<br>";}

! $ans_h="<hr>$to問目/$m<br>$ans(回答時間/$rim秒)\n";

$html.= "$to-○$oa/×$ng<hr>\n";

_M_

}

--- 188,194 ----

if($ok==1){$ans.=$a;}elsif($ok==2){$ans.=$b;}elsif($ok==3){$ans.=$c;}else{$ans.=$d;}

if($maru==1){$m="○";}elsif($maru==0){$m="×";}elsif($maru==2){$m="時間切れ";}

if($Ans_p){$ans="";}else{$ans.="<br>";}

! $ans_h="<hr>$to問目/$m<br>$ans$exp<br>(回答時間/$rim秒)\n";

$html.= "$to-○$oa/×$ng<hr>\n";

_M_

}

***************

*** 234,240 ****

open(LOG,"$log[0]") || &er_("Can't open $log[0]");

@LINE = <LOG>;

close(LOG);

! ($mondai,$a,$b,$c,$d,$ok)=split(/<>/,$LINE[$r]);

$ENV{'TZ'} = "JST-9";

($sec,$min,$hour,$mday,$mon,$year,$wday)=localtime(time);

($fun,$byou)=split(/:/,$t);

--- 235,241 ----

open(LOG,"$log[0]") || &er_("Can't open $log[0]");

@LINE = <LOG>;

close(LOG);

! ($mondai,$a,$b,$c,$d,$ok,$exp)=split(/<>/,$LINE[$r]);

$ENV{'TZ'} = "JST-9";

($sec,$min,$hour,$mday,$mon,$year,$wday)=localtime(time);

($fun,$byou)=split(/:/,$t);

***************

*** 414,419 ****

--- 415,421 ----

<input type=radio name=oa value=3>3<br>

<input type=radio name=oa value=4>4<br>

<br>

+ <input type=text name=exp size=16 maxlength=$max_qq><br>

もう一度<br>見なおそう!<br>

<input type=submit value=" 登録 ">

</form>

***************

*** 431,441 ****

--- 433,445 ----

if($ba eq ""){ &er_("答え2が未記入!"); }

if($ca eq ""){ &er_("答え3が未記入!"); }

if($da eq ""){ &er_("答え4が未記入!"); }

+ if($exp eq ""){ &er_("解説が未記入!"); }

if(length($to) > $max_qq){ &er_("問題がながすぎ!"); }

if(length($aa) > $max_qa){ &er_("答え1がながすぎ!"); }

if(length($ba) > $max_qa){ &er_("答え2がながすぎ!"); }

if(length($ca) > $max_qa){ &er_("答え3がながすぎ!"); }

if(length($da) > $max_qa){ &er_("答え4がながすぎ!"); }

+ if(length($exp) > $max_qq){ &er_("解説がながすぎ!"); }

open(DB,"$log[0]") || &er_("Can't open $log[0]");

@LOGS = <DB>;

close(DB);

***************

*** 446,452 ****

$size=@LOGS;

if($size >= $max_q){&er_("問題が限度数の$max_q問あります!");}

open(LOG,">>$log[0]") || &er_("Can't write $log[0]");

! print LOG "$to<>$aa<>$ba<>$ca<>$da<>$oa<>\n";

close(LOG);

&hed_;

if($oa==1){$ans=$aa;}elsif($oa==2){$ans=$ba;}elsif($oa==3){$ans=$ca;}else{$ans=$da;}

--- 450,456 ----

$size=@LOGS;

if($size >= $max_q){&er_("問題が限度数の$max_q問あります!");}

open(LOG,">>$log[0]") || &er_("Can't write $log[0]");

! print LOG "$to<>$aa<>$ba<>$ca<>$da<>$oa<>$exp<>\n";

close(LOG);

&hed_;

if($oa==1){$ans=$aa;}elsif($oa==2){$ans=$ba;}elsif($oa==3){$ans=$ca;}else{$ans=$da;}

***************

*** 619,626 ****

foreach (0..$#LINE){

$OFF=0; $N=$_;

foreach $d (@d_){if($N eq $d){$OFF=1;}}

! ($Q,$A,$B,$C,$D,$Ans) = split(/<>/,$LINE[$_]);

! $LINE[$N]="$Q<>$A<>$B<>$C<>$D<>$Ans<>\n";

if($OFF){next;}

push(@New,"$LINE[$N]");

}

--- 623,630 ----

foreach (0..$#LINE){

$OFF=0; $N=$_;

foreach $d (@d_){if($N eq $d){$OFF=1;}}

! ($Q,$A,$B,$C,$D,$Ans,$Exp) = split(/<>/,$LINE[$_]);

! $LINE[$N]="$Q<>$A<>$B<>$C<>$D<>$Ans<>$Exp\n";

if($OFF){next;}

push(@New,"$LINE[$N]");

}

***************

*** 646,653 ****

<input type=submit value="削除"><br>

_AD_

foreach ($page .. $page_end) {

! ($Q,$A,$B,$C,$D,$Ans) = split(/<>/,$LINE[$_]);

! $html.="<hr><input type=checkbox name=d value=$_>/$Q<br>1.$A<br>2.$B<br>3.$C<br>4.$D<br>A.$Ans\n";

}

$html.="<br><input type=submit value=\"削除\"><br></form>\n";

$a=0;

--- 650,657 ----

<input type=submit value="削除"><br>

_AD_

foreach ($page .. $page_end) {

! ($Q,$A,$B,$C,$D,$Ans,$Exp) = split(/<>/,$LINE[$_]);

! $html.="<hr><input type=checkbox name=d value=$_>/$Q<br>1.$A<br>2.$B<br>3.$C<br>4.$D<br>A.$Ans<br>E.$Exp\n";

}

$html.="<br><input type=submit value=\"削除\"><br></form>\n";

$a=0;

# では、よいperlライフを・・・

# shinta@perler

# My Perl Page is http://modperlis.bounceme.net

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ