ということです!笑
ドリルは駆け出したばかりの時にも作りましたが、今見返すと。。。いっぱい書いてる。コード!?笑
僕も成長したんだなと改めて思いました。
では本題へ!まずは。
【index.php】
<?
echo "<p>出題数選択</p>";
echo "<form method='post' action='index.php'>";
echo "<select name='num'>";
for($i=1; $i<=20; $i++){ //出題数の設定
echo "<option>{$i}</option>";
}
echo "</select>";
echo "<input type='submit' value='送信'>";
echo "</form>";
$num = $_POST['num'];
//出題数を送信しなければ、以下は非表示
if(empty($num)){
die();
}
$ar_num = range(1,100); //数字範囲
$ar_num2 = range(1,100); //数字範囲
shuffle($ar_num); //シャッフル
shuffle($ar_num2); //シャッフル
echo "<hr><form method='post' action='add.php'>";
//for文で受け取った出題数を限度にして設定
for ($i = 1 ; $i <= $num ; $i++){
echo "問{$i}<br>";
echo "{$ar_num[$i]}+{$ar_num2[$i]}=<input type='number' name='ans{$i}'><input type='hidden' name='a{$i}' value='{$ar_num[$i]}'><input type='hidden' name='b{$i}' value='{$ar_num2[$i]}'><br><hr>";
$count++;
}
echo "<input type='hidden' name='mondai' value='{$count}'>";
echo "<input type='submit' value='回答する'></form>";
//formで送る時に出題の数字も送信します
?>
【add.php】
<?
//問題と回答の受取
$mondai = $_POST['mondai'];
for($i=1; $i<=$mondai; $i++){
$a[$i] = $_POST["a{$i}"];
$b[$i] = $_POST["b{$i}"];
$ans[$i] = $_POST["ans{$i}"];
$c[$i] = $a[$i] + $b[$i];
echo "問{$i}<br>{$a[$i]} + {$b[$i]} = <br>あなたの答え → {$ans[$i]}<br>解答 → {$c[$i]}<br>";
//正解不正解分岐
if($ans[$i] == $c[$i]){
echo "正解!<hr>";
$seikai++;
} else {
echo "不正解。。。<hr>";
}
}
//採点 100点を基準に出題数でわり、正解数で掛けます。floorは小数カット
$manten = 100;
$tensu = floor($manten / $mondai * $seikai);
echo "あなたの成績は..<br>{$tensu}点 です!<hr>";
?>
こんな感じになります!
要所要所にはコメントアウトを入れておりますが、何か質問などがありましたら、お気軽にご連絡下さい!!
ではまた!
簡単な算数ドリルの作り方