2012-04-01 13 views
1

私はphp-mysqlでオンライン試験システムを開発しています。その試験は複数選択問題から成り立ちます。PHP-MySqlのオンライン試験Webアプリケーション

1):私は、次の手順に従います。私はすべての質問&を複数の選択肢(質問ごとに4つの選択肢)をデータベーステーブルに追加します。

2)。私は答え間違った答えに& 値0を修正するために値1を与えます。

3)。試験ボタンをクリックすると、すべての回答がお互いに追加されます。例えば、

7種類の質問については

0 + 1 + 1 + 0 + 0 + 0 + 1、結果は誰もがこのプロセスがためにOKであることを私に伝えることができる今、この3/7

のようになりますそのタイプのアプリケーション、または他の方法論を使用して改善する必要があります。前もって感謝します。

+1

フォーラムで教育者を求めてもよいでしょう。 –

+1

私によく見える、私はまた、DBの各テストで結果を保存する、ユーザーが複数回テストを取ることができますか? – joschua011

+0

@ joschua011誰も同じテストを2回受けることはできません。この目的のために、各ユーザーに10桁のトークンを追加します。このテストでは、誰がそのテストに参加しているかを確認します。 – Arif

答えて

1

思考だけのカップル。個人の回答を保存する予定ですか?そうでない場合は、ユーザーが選択した回答に戻って表示/表示することはできません。

このアプローチを使用する場合は、応答のフォーム値が01ではないことを確認してください。人々がこれに賢明なように、HTMLソースと不正行為を表示する可能性があります。

これを防ぐために、一つの方法は、PHPでの応答を確認し、各フォームの応答値に他の/ランダム値を割り当てることであろう。例:

PHPコードで、各回答を確認して応答が有効であることを確認し、スコアを適切に増やします。たとえば:

if ($_POST['q1'] == 'apples') 
{ 
    $score++; 
} 

私は(たとえば、無効な試みのためのポイントを失うので)いくつか複数の選択肢の質問票が間違った応答を罰する見てきました。これは、人々がランダムな回答を選択するのを止めたい場合に役立ちます。もちろん、これがうまくいくためには、「Unsure」レスポンス(あなたの場合は0になります)を許可する必要があり、誤ったレスポンスが負の値を追加します。私はこれが

+0

のお役に立てる方々に感謝しています。私のテストはシングルページ&次へと戻るボタンを押す必要はありませんが、ソースコードに行く場合のためにユーザーからの価値を隠す方法 – Arif

+0

私はHTMLソースを閲覧している人を防御する方法を使ってレスポンスを更新しました。 –

+0

greate、私はあなたの答えが好き – Arif

2

あなたのアプローチは罰金だ役に立てば幸い

は、しかし、あなたは間違っていると、正しい選択肢で答えた質問を処理するための動作を定義する必要があります。

質問ごとに4つの回答が正しい場合は、複数選択肢(チェックボックスグループ)ではなく、選択肢の1つの質問(ラジオボタン)を作成する方が論理的です。

明らかにこれは

+0

ありがとう4良い返答、はいすべての質問と私はラジオボタンを使用している1つの正解がある – Arif

1

複数の選択肢のテストは通常​​の答えの3種類持っているあなたの試験技術の設計の質問です:

  • 正しい+1
  • 正しくない-1
  • が応答しません0

したがって、基本的に正しい答えのみをデータベースに保存する必要があります。私はこの方法でテーブルを設計します:

テスト

ID

対象

...

質問

ID

correct_answer

incorrect_answers(CSV?)

test_questions

id_test

id_question

質問テーブルから質問を選んで、多くの質問を設計できます。カンマで区切られた誤った回答のフィールドは1つだけにすることができます。したがって、後でテーブルに新しい列を追加する必要はなくなります。

+0

私はあなたのアイデアがそんなに好きですが、私はテスト結果 – Arif