2016-08-29 18 views
0

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は真実を再現していないと思います。私はまた、ファイルの先頭でセッションを開始しました。

私はそれを修正しました。

+1

セッションを開始しましたか? – tkausl

+1

'print_r($ _ POST); var_dump($ answer) ' –

+1

疑問がある場合は、print_r/var_dump/echo /すべてのものを記録してください。 – aynber

答えて

関連する問題