У меня проблема с циклом for:
Он перекликается с $question[0] и перекликается с $question[1], когда я отвечал на вопрос $question[0].
Проблема в том, что когда я отвечаю на $question[1], он повторяет $question[0] вместо $question[2] и продолжает цикл между $question[0] и $question[1].
Может что-то не так с массивом ..?
<?php
$question = array(
0 => "<form action=\"\" method=\"get\"> Q1<br>
<input type=\"radio\" name=\"q0\" value=\"tr\"> A <br>
<input type=\"radio\" name=\"q0\" value=\"ok\"> B <br>
<input type=\"radio\" name=\"q0\" value=\"fa\"> C
<input type=\"submit\" value=\"대답하기 Answer\">
</form>",
/* 1~4 is same thing with different name (ex. q1, q2..) */
$a = array( @$_GET['q0'], @$_GET['q1'], @$_GET['q2'], @$_GET['q3'], @$_GET['q4']);
$point = array(0,0,0,0,0);
for ($i = 0; $i < 5; $i++) {
ob_start();
echo $question[$i];
if (isset($a[$i]) == true) {
if ($a[$i] == "tr") {
$point[$i] = 20;
ob_end_clean();
}
elseif ($a[$i] == "ok") {
$point[$i] = 10;
ob_end_clean();
}
else {
$point[$i] = 0;
ob_end_clean();
}
} else {
break;
}
}
?>
Используйте var_dump() в каждом состоянии, и вы обнаружите проблему
@Lee ваш цикл начинается с позиции 0, поэтому вы будете всеми способами сначала пытаться получить $ question [0], и если $ a [1] неверно, он убьет весь цикл, что также может объяснить, почему вы не можете добраться до $ question [2] ... но я думаю, вам нужно добавить немного кода, чтобы показать, что здесь происходит.
@Lee, ваш цикл срабатывает каждый раз после ответа на вопрос?
@Nawin Я добавил предыдущий код, чтобы показать значения $ question и $ a!
@ArmKh Это работает, но только между $ question [0] и $ question [1] это бесконечный цикл.






В вашем массиве $ question только один элемент по индексу 0. Попробуйте ввести имя формы и используйте имя формы, чтобы получить параметр от $_Get. После сброса результата вы должны получить именно то, что вам нужно.
например с POST
<form action = "" method = "POST" name = "myForm">
<input type = "radio" name = "myform[gender]" value = "true"> A<br>
<input type = "radio" name = "myform[gender]" value = "false"> B<br>
<input type = "radio" name = "myform[gender]" value = "other"> C
<input type = "submit">
</form>
и в PHP:
$_POST["myForm"] должен быть опубликован в форме.
if (isset($_POST['myform'])) {
$values = $_POST['myform'];
}
Где ваши значения
$questionи$a?