0

このようなURLを介して可能な回答を送信する多肢選択式クイズがあります

<form method="post" action="test2score.php?q=<?php echo $quiz_id; ?>">

test2score.php ページで読み取り、このような値を比較しようとします

$ans = mysql_result(mysql_query('select c_answer from quiz where quiz_id = "'.$_GET['q'].'"'),0);
    if ($_POST['answer'] == $ans){
        echo "You got it right!";
    }else if ($_POST['answer'] <> $ans){
        echo "You got it wrong!";
    }

ここで、c_answer は db に保存されている正解ですが、正解を選択して投稿しても、「あなたは間違っています」と表示されます。

任意の助けをいただければ幸いです。

4

4 に答える 4

0

フォームアクションからクイズIDを渡す代わりに、非表示のフォームフィールドからクイズIDを渡します

以下のようにフォームアクションをに設定します

action="test2score.php"

隠しフォームフィールドを

<input type="hidden" name="q" value=<?php echo $quiz_id; ?> />

以下のようにその値を取得します

$_POST['q'];
于 2012-04-28T06:32:38.407 に答える
0

あなたのフォームmethod="post"は投稿であり、あなたの受け取る値は$_GET['q']親切にどちらかを修正するか、使用してください

$_REQUEST['q']`
于 2012-04-28T06:25:06.213 に答える
0

隠しフィールド q を使用し、その値をアクション ページに投稿して、

$_POST['q'] and use that in your query.

ありがとう。

于 2012-04-28T06:27:04.617 に答える
0

$_POST フォームのアクションで $_GET リクエストを使用しているのはなぜですか? ユーザーに の値が表示されることを心配していないので、次のq結果を含む非表示の入力をフォームに入れてみませんか?q

<input type="hidden" value=<?php echo $quiz_id ?> name="q" />

次に、クエリで次を確認します$_POST['q']

これを達成するためのより健全で論理的な方法のようです

于 2012-04-28T06:28:32.967 に答える