テキストボックス入力を使用した簡単なPHPクイズ

langton82

PHPを使用して非常に簡単なクイズを実装しようとしていますが、他のコピー例を見つけるのに苦労しています。私はさまざまな解決策を受け入れていますが、要件は次のとおりです。

  • クイズは1ページで行われます。
  • 一度に1つの質問が表示され、ユーザーは現在の質問に正しく回答した場合にのみ次の質問を表示できます。
  • すべての質問タイプは「短い回答」であり、ユーザーはテキストボックスに正しい回答を入力する必要があります。

ユーザーの回答に基づいてPHP条件ステートメント(if / else)を使用して解決策を見つけようとしていますが、現在のコードは次のようになっています。

<form method="POST" action="">
<label for="question01">1. How many sides does a triangle have?</label>
<input type="text" name="guess01" value="">
<input type="submit">
</form>
<?php  
// Process Question 1 Form
$guess01 = $_POST['guess01'];
$guess01 = strtolower($guess01);
$answer01 = "three";

if ($guess01 == $answer01)
{
?>
<p>Correct answer given for question 1!</p>
<form method="POST" action="">
<label for="question02">2. How many sides does a square have?</label>
<input type="text" name="question02" value="" placeholder="Answer here...">
<input type="submit">
</form>

<?php  
// Process Question 2 Form
$guess02 = $_POST['guess02'];
$guess02 = strtolower($guess02);
$answer02 = "four";

if ($guess02 == $answer02)
{
?>
<p>Correct answer given for question 2!</p>
<form>
<label for="question02">3. How many sides does a pentagon have?</label>
<input type="text" name="question02" value="" placeholder="Answer here...">
<input type="submit">
</form>

<?php  
// Process Question 2 Form
$guess03 = $_POST['guess02'];
$guess03 = strtolower($guess02);
$answer03 = "five";

if ($guess03 == $answer03)
{
?>
<p>Correct answer given for question 3!</p>
<p>Quiz completed!</p>

<?php
}
elseif (empty($guess03))
{
echo "<!-- No Answer Given -->";
}
else
{
echo "<p>Try Again!</p>";
} 
?>

<?php
}
elseif (empty($guess02))
{
echo "<!-- No Answer Given -->";
}
else
{
echo "<p>Try Again!</p>";
} 
?>

<?php
}
elseif (empty($guess01))
{
echo "<!-- No Answer Given -->";
}
else
{
echo "<p>Try Again!</p>";
} 
?>

これは非常に非効率的なコーディングであると確信しており、これに取り組む他の方法を受け入れています。どんな助けでも非常にありがたいことに受け取られるでしょう。ありがとうございました。

radicarl

質問のフォームと検証は常に同じであり、データが変更されるだけなので、コードをコピーする必要はありません。質問と回答を配列に入れて、現在の質問の数をフォームに入力するだけです。

// Declare all your questions and answers as multi dimensional array
$questionsAndAnwsers = array(array("question" => "1. How many sides does a triangle have?", "answer" => "three"),
                            array("question" => "2. How many sides does a square have?", "answer" => "four"));

// current question
$currentQuestion = 0;
if(isset($_POST["currentQuestion"])){
     $currentQuestion = $_POST["currentQuestion"];
     if($_POST["guess"] == $questionsAndAnwsers[$currentQuestion]["answer"]){
         // answer was correct, increment your question-counter for the next question
         $currentQuestion++;
         // print success message
       } else {
         // question was wrong, counter stays as it is, so same question will be printed
         // print failure message
       }
}


?>
<form method="POST" action="">
    <label for="question"><?php echo ($currentQuestion+1).". ". $questionsAndAnwsers[$currentQuestion]["question"];?></label>
    <input type="hidden" name="currentQuestion" value="<?php echo $currentQuestion;?>">
    <input type="text" name="guess" value="">
    <input type="submit">
</form>
<?php

すべての質問に回答した場合は、if句を追加する必要があります。

編集:これは単純な実装であり、ごまかすのは簡単です。質問番号がブラウザに渡されると、ユーザーはそれを変更できます(9に設定)。この全体を閉じるには、セッションを使用して、サーバー上のセッションの最後の正解の番号を保存する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

チェックボックスとjsを使用したテキスト入力

分類Dev

iPhoneでテキスト入力ポップアップダイアログボックスを表示する簡単な方法は何ですか

分類Dev

テキストを入力した後のinnerHTMLテキストボックスが機能しない

分類Dev

テキストボックスを追加して、入力を取得します[PHP]

分類Dev

テキストボックスにテキストなしで入力なし

分類Dev

クリックしたテキストを入力テキストボックスに移動

分類Dev

javascript / jqueryを使用してテキストボックスに入力された値または入力されていない値を見つける方法

分類Dev

anglejsを使用してイベントをクリックしたときに行の値をテキストボックスに入力する方法

分類Dev

PHPを使用してドロップボックスにSQLから選択したアイテムを表示する簡単な方法はありますか?

分類Dev

テキストボックスがコンボボックスに基づいて値を入力しない

分類Dev

テキストボックスに入力された値に基づいてJavaScriptを使用して複数のテキストボックスを開く

分類Dev

入力ボックスで選択したテキストを取得する

分類Dev

PHPを使用して、データベースからトークン入力テキストボックスに値を事前入力します

分類Dev

jsp を使用してテキスト ボックスに入力した内容を出力する方法

分類Dev

[送信]を押すたびに、入力テキストボックスでテキストを変更したい

分類Dev

CSSを使用してボックスなしでテキストを入力する

分類Dev

1つのテキストボックスに数値を入力し、別のテキストボックスに出力として単語を取得します

分類Dev

onclick入力ボックスにテキストを入力

分類Dev

外部PHPファイルからHTMLテキストボックスにデータを入力します

分類Dev

Angularのready関数を使用しても、テキストボックスと画面をクリックした後、$ scope.valueが事前入力されたテキストボックスとしてのみ表示されるのはなぜですか

分類Dev

フィルタ条件としてテキストボックス入力を使用したDropDownList

分類Dev

同じサイズの入力テキストボックスとボタンを取得できません

分類Dev

テキストボックスにIDを挿入した後、[テキストボックスに入力]をクリックして、ajax phpsqlを使用してフォームにデータを入力します

分類Dev

純粋なJavascriptを使用して入力テキストボックスを監視する方法

分類Dev

swiftを使用してWKWebViewのWebサイトのテキストボックスに事前入力する方法

分類Dev

テキストボックスの2つの異なるタイプの入力を検証します

分類Dev

JavaScript を使用してダイアログ ボックスにテキストを入力する

分類Dev

jqueryを使用して入力ボックスに表示する選択されたテキスト

分類Dev

テキストの先頭ではなく、互いに整列するサイズの入力ボックス

Related 関連記事

  1. 1

    チェックボックスとjsを使用したテキスト入力

  2. 2

    iPhoneでテキスト入力ポップアップダイアログボックスを表示する簡単な方法は何ですか

  3. 3

    テキストを入力した後のinnerHTMLテキストボックスが機能しない

  4. 4

    テキストボックスを追加して、入力を取得します[PHP]

  5. 5

    テキストボックスにテキストなしで入力なし

  6. 6

    クリックしたテキストを入力テキストボックスに移動

  7. 7

    javascript / jqueryを使用してテキストボックスに入力された値または入力されていない値を見つける方法

  8. 8

    anglejsを使用してイベントをクリックしたときに行の値をテキストボックスに入力する方法

  9. 9

    PHPを使用してドロップボックスにSQLから選択したアイテムを表示する簡単な方法はありますか?

  10. 10

    テキストボックスがコンボボックスに基づいて値を入力しない

  11. 11

    テキストボックスに入力された値に基づいてJavaScriptを使用して複数のテキストボックスを開く

  12. 12

    入力ボックスで選択したテキストを取得する

  13. 13

    PHPを使用して、データベースからトークン入力テキストボックスに値を事前入力します

  14. 14

    jsp を使用してテキスト ボックスに入力した内容を出力する方法

  15. 15

    [送信]を押すたびに、入力テキストボックスでテキストを変更したい

  16. 16

    CSSを使用してボックスなしでテキストを入力する

  17. 17

    1つのテキストボックスに数値を入力し、別のテキストボックスに出力として単語を取得します

  18. 18

    onclick入力ボックスにテキストを入力

  19. 19

    外部PHPファイルからHTMLテキストボックスにデータを入力します

  20. 20

    Angularのready関数を使用しても、テキストボックスと画面をクリックした後、$ scope.valueが事前入力されたテキストボックスとしてのみ表示されるのはなぜですか

  21. 21

    フィルタ条件としてテキストボックス入力を使用したDropDownList

  22. 22

    同じサイズの入力テキストボックスとボタンを取得できません

  23. 23

    テキストボックスにIDを挿入した後、[テキストボックスに入力]をクリックして、ajax phpsqlを使用してフォームにデータを入力します

  24. 24

    純粋なJavascriptを使用して入力テキストボックスを監視する方法

  25. 25

    swiftを使用してWKWebViewのWebサイトのテキストボックスに事前入力する方法

  26. 26

    テキストボックスの2つの異なるタイプの入力を検証します

  27. 27

    JavaScript を使用してダイアログ ボックスにテキストを入力する

  28. 28

    jqueryを使用して入力ボックスに表示する選択されたテキスト

  29. 29

    テキストの先頭ではなく、互いに整列するサイズの入力ボックス

ホットタグ

アーカイブ