I am trying to create a quiz where the user is answering multiple questions.
I made each question using radios and i am trying to check if that radio is checked. if the radio is not check then i display an error.
I mostly got that part working.
My issues is that say if questions 1 has a radio that is checked and question 2 was not answered, when the user hits submit then the answer they put for question 1 is gone.
I want to keep the answer that they checked, like a sticky form, and only display the error on the questions, in this case question 2, that they did not answer. Below is two different ways i tried to solve it and i cant seem to accomplish it.
This is how i am displaying the question with php.
<tr>
<td> If a and b are negative numbers, and |a| < |b|, then b - a is negative. </td>
<td> <?php echo ($err['q[1]']? "<span style='color:red'>*".$err['q[1]']."</span><br>": "");?>
<input type="radio" name="q[1]" id="q[1]t" value="T" <?php if (isset($_POST['q[1]']) and $_POST['q[1]'] == 'T') { echo 'checked'; } ?> > TRUE
<input type="radio" name="q[1]" id="q[1]f" value="F" <?php if (isset($_POST['q[1]']) and $_POST['q[1]'] == 'F') echo 'checked'; ?> > FALSE
</td>
</tr>
<tr>
<td> The equation 2x + 7 = 2(x + 5) has one solution. </td>
<td> <?php echo ($err['q[2]']? "<span style='color:red'>*".$err['q[2]']."</span><br>": "");?>
<input type="radio" name="q[2]" id="q[2]t" value="T" <?php if (isset($_POST['q[2]']) and $_POST['q[2]'] == 'T') echo 'checked'; ?> > TRUE
<input type="radio" name="q[2]" id="q[2]f" value="F" <?php if (isset($_POST['q[2]']) and $_POST['q[2]'] == 'F') echo 'checked'; ?> > FALSE
</td>
</tr>
This is how i am trying to verify it.
if (isset($_POST) && !empty($_POST)) {
if (isset($_POST['q[1]'])) {
$radio_input = $_POST['q[1]'];
echo $radio_input;
$error=false;
} else {
$err['q[1]']= "Please Select An Answer";
$error=true;
}
if (empty($_POST['q[2]'])) {
$err['q[2]']= "Please Select An Answer";
$error=true;
} else {
$error=false;
}