HTMLとPHPでクイズを作成しましたが、何らかの理由でユーザーが応答を送信したときにページで受信されませんでした。フォームデータを収集するコードのセクションはHTML PHP - フォームが送信されない
<?php
$_SESSION["questionnumber"]++;
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$answer =filter_var($_POST["response"], FILTER_SANITIZE_STRING);;
If ($answer =="A") {
$_SESSION["score"]++;
}
}
if ($_SESSION["questionnumber"]==7){
header ("Location: quizfinish.php");
}
?>
で、フォームを送信するコードは
<form role="form" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" >
<table class='table table-response'>
<tr>
<td class='quiz-response-label'>Your Response</td>
<td class='quiz-response'>
<input class='response' type='text' name='response' size='1'>
</td>
</tr>
</table>
<button class="btn btn-lg btn-primary btn-block" type="submit">Submit Answer</button>
</form>
スコアが増加してイマイチなぜ誰もが見ることができるのですか?正解は常に途中です。
編集:iveはいくつかのテストを行い、if($ _SERVER ["REQUEST_METHOD"] == "POST")thatsは真実を再現していないと思います。私はまた、ファイルの先頭でセッションを開始しました。
私はそれを修正しました。
セッションを開始しましたか? – tkausl
'print_r($ _ POST); var_dump($ answer) ' –
疑問がある場合は、print_r/var_dump/echo /すべてのものを記録してください。 – aynber