PHPで問題を出題するプログラムを作っています
write.phpというファイルで入力し、hantei.phpというファイルでデータベースに格納を行おうとしています
回答欄はデータベース内の模範解答が入っているテー
ブルのレコード数を数えてforループで表示しています。
表示された回答欄に回答を入力しても、データベースに格納されません。
調べたところ、forループで回す度に<input name="responce" type="text" id="responce">のなかのnameが変わらなければならないとのことです。
また、変化したnameを受け取って格納しなければならないと書いてありました。
エラー内容は
Undefined index: responce0 in hantei.php on line 16
Undefined index: responce1 in hantei.php on line 17
Undefined index: responce2 in hantei.php on line 18
Undefined index: responce3 in hantei.php on line 19
Undefined index: responce4 in hantei.php on line 20
Undefined index: responce5 in hantei.php on line 21
となっていました
以下ソースコードです。
write.php
<form action="hantei.php" method = "get">
<?php
//データベースの選択
mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('text_book');
mysql_query('SET NAMES UTF8');
<?php
//レコード数の計算
$ans = mysql_query("SELECT COUNT(answer) FROM `write` WHERE problem_id = 1");
//回答欄の表示
for($i = 0; $i <= $ans; $i++){
echo"$i";
?>
<dd>
<input name="responce" type="text" id="responce" />
</dd>
<?php
}
?>
<input type="submit" valued="送信する">
hantei.php
<?php
//データベースの選択
mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('text_book');
mysql_query('SET NAMES UTF8');
//回答結果の格納
$response = sprintf("INSERT INTO learner_responce SET responce='%s'",
mysql_real_escape_string($_GET["responce0"]),
mysql_real_escape_string($_GET["responce1"]),
mysql_real_escape_string($_GET["responce2"]),
mysql_real_escape_string($_GET["responce3"]),
mysql_real_escape_string($_GET["responce4"]),
mysql_real_escape_string($_GET["responce5"])
);
mysql_query($response) or die(mysql_error());
?>
<form method = "get" action = "write.php">
<input type="submit" valued="戻る">