-2

私はphpを初めて使用します。基本的に、4つの質問と4つの回答があり、データベースに4つの質問が表示され、ボタンをクリックすると「不正解」と表示されるデータベースを作成するように割り当てられています。これが私のhtmlコードである場合、データベースで「または「正しい」」ですが、phpでデータベースに配置する方法がわかりません。Div/ IDタグを使用して支援しようとしましたが、私がしていることの手がかり

<img src="Images/Question1.png" usemap="#mainMap" id="main" style="position:absolute;display:none;left:0px;top:0px;" border="0" />
<map name="mainMap" id="mainMap">
  <div id="Incorrectanswer1"><area shape="rect" coords="82,192,196,242" onclick="incorrectAnswer()" /></div>
  <div id="Incorrectanswer2"><area shape="rect" coords="83,254,197,300" onclick="incorrectAnswer()" /></div>
  <div id="Incorrectanswer3"><area shape="rect" coords="83,310,201,368" onclick="incorrectAnswer()" /></div>
  <div id="Correctanswer1"><area shape="rect" coords="84,373,205,430" onclick="correctAnswer()" /></div>
</map>

誰かが私を助けたり、正しい方向に向けたりすることができれば、これは役に立ちます。

4

1 に答える 1

1

一部の人々が示唆しているように、これの設計方法を変更する必要があります。

HTML/Javascript はクライアント側であり、単純な右クリック -> ソースを表示するだけで、正解をユーザーに伝えることができます。それで、それを行う正しい方法は何ですか?いくつかありますが、そのうちの1つを説明しましょう。

HTML部分は問題ありませんが、その部分をonclick新しい関数に変更する必要があります.正しいかどうか。check_answer(id)id

これを行う 1 つの方法は AJAX ですが、もう 1 つ簡単な方法を試してみましょう。

<form id="answer_send" name="answer_send" action="check_answer.php" method="POST">
     <input type="hidden" id="answer_id" />
</form>

この HTML は本文のどの部分にも挿入できますが、いずれにしても表示されません。次に、新しい JavaScript 関数「check_answer(id)」が必要です。

function check_answer(id){
    document.getElementById('answer_id').value=id;
    document.forms["answer_send"].submit();
}

次にcheck_answer.php

$id=$_POST['answer_id'];

if($id > 0){
     //do something to compare the answer
     if(answer_ok(id)){
         echo "Correct Answer!";
     }else{
         echo "Incorrect Answer!";
     }
}

ここで何が問題なのですか?ユーザーは別のページにリダイレクトされるため、複数の質問/回答を表示して、ユーザーを別の URL に送信せずに確認したい場合は、AJAX を使用する必要があります。このプロセスを AJAX で実行する場合の唯一の違いは、フォームが必要ないことと、check_answer(id)関数が AJAX 呼び出しを実行し、AJAX 呼び出しの戻り値に応じてユーザーにメッセージを表示する必要があることです。

于 2012-12-03T15:26:12.580 に答える