下が私の書いたコードなのですがhiddenを使った値の受け渡しがうまく機能しません。どこを修正したらよろしいでしょうか?
lang
1#!/usr/bin/perl 2$| = 1; 3use CGI; 4$obj = new CGI; 5$a = $obj->param('a'); 6$b = $obj->param('b'); 7$eq = $obj->param('eq'); 8$value = $obj->param('value'); 9$answer = $obj->param('answer'); 10$btn = $obj->param('btn');A 11sub len{$len=length($eq);} 12#ブラウザので表示 13print<<EOF; 14Content-type: text/html; 15<html> 16<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 17<head> 18 <title>虫食い算</title> 19</head> 20<body> 21 <b>虫食い算</b><br> 22EOF 23 24 25$num_a=int(rand(100)); 26$num_b=int(rand(100)); 27$x=int(rand(2));#演算子決定に使う 28if($x=0){ 29 $symbol="+"; 30}else{ 31 $symbol="-"; 32} 33$eq="$num_a$symbol$num_b"; 34$value=eval($eq); 35$len=length($eq); 36$k=int(rand(&len)); 37$answer=substr($eq,$k,1); 38substr($eq,$k,1,"?"); 39$last_value = $obj->param('last_value'); 40$last_answer = $obj->param('last_answer'); 41$last_eq = $obj->param('last_eq'); 42if($b==0){$b=0;} 43if($btn=~/[0-9¥-¥+]/){ 44 $a++; 45 if($last_answer eq $btn){ 46$b++; 47 print"正解です(問題:$last_eq=$last_value,正解:$last_answer,あなたの答え:$btn)<br>"; 48 49 }else{ 50print" 不正解です (問題;$last_eq=$last_value,正解;$last_answer,あなたの答え:$btn)<br>"; 51 } 52 print"$a 問中$b 問正解<br>"; 53}else{#reset 押したときに初期化 54 $a = 0; 55 $b = 0;} 56print<<EOF; 57<table border=2><tr><td> 58<b>問題:$eq=$value</b><br><br> 59?には 0~9,+,-のいずれかが入ります。どれでしょう?<br> 60<form method="GET" action="2b.cgi"> 61<input type="hidden" name="last_eq" value"$eq"> 62<input type="hidden" name="last_value" value"$value"> 63<input type="hidden" name="last_answer"value"$answer"> 64<input type="hidden" name="a" value"$a"> 65<input type="hidden" name="b" value"$b"> 66<input type="submit" name="btn" value="0"> 67<input type="submit" name="btn" value="1"> 68<input type="submit" name="btn" value="2"> 69<input type="submit" name="btn" value="3"> 70<input type="submit" name="btn" value="4"> 71<input type="submit" name="btn" value="5"> 72<input type="submit" name="btn" value="6"> 73<input type="submit" name="btn" value="7"> 74<input type="submit" name="btn" value="8"> 75<input type="submit" name="btn" value="9"> 76<input type="submit" name="btn" value="+"> 77<input type="submit" name="btn" value="-"> 78</td></tr></table> 79<input type="submit" name="btn" value="Reset"> 80</form> 81</body> 82</html> 83EOF
回答1件
あなたの回答
tips
プレビュー