사용자가 여러 질문에 답변하는 퀴즈를 만들려고합니다.PHP 검증 답변을위한 별도의 무선 및 스티커 폼이있는
나는 라디오를 사용하여 각 질문을 만들었고 라디오가 선택되어 있는지 확인하려고합니다. 라디오가 확인되지 않으면 오류가 표시됩니다. 나는 대부분 그 부분을 작동 시켰습니다.
질문 1에 라디오가 선택되어 있고 질문 2에 답변이없는 경우 사용자가 제출을 클릭하면 질문 1에 대한 답변이 사라 졌다고하는 것이 내 문제입니다.
저는 그들이 끈적한 양식처럼 확인한 대답을 유지하고 질문에 오류 (이 경우 질문 2) 만 표시합니다. 대답하지 않았습니다. 아래는 두 가지 방법으로 해결하려고했는데 그럴 수 없습니다.
이것은 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>
이것은 확인하는 방법입니다. 당신이 배열 표기법 []
를 사용하여 입력이 양식을 제출하면
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;
}
$err['q[1]'] !== $err['q'][1]
가 같은 페이지에 제출 또는 다른 페이지로 제출하고 원본 페이지로 다시 리디렉션 기억? – Mikey@Mikey 내가 할 일은 같은 페이지에 보관하는 것입니다. 그럼 그들이 모든 질문에 대답했을 때 나는 대답과 함께 텍스트 파일을 비교하고 다음 질문 1과 테이블을 표시 올바른, 질문 2 잘못된 등 ... – m0d3r