PHP を使用して簡単なオンライン試験システムを作成する方法
インターネットの急速な発展に伴い、ますます多くの教育訓練機関がオンライン試験システムを選択して試験を容易にしています。学生の試験と評価。あなたが PHP 開発者である場合、この記事では PHP を使用して簡単なオンライン試験システムを作成する方法を紹介します。
システム設計と機能要件
コードを書き始める前に、まずシステムの設計と機能要件を理解する必要があります。シンプルなオンライン試験システムには、通常、次の機能があります。
次に、これらの機能を段階的に実装してみましょう。
登録ページで、ユーザーはデータベースに保存されるユーザー名とパスワードを入力する必要があります。ログイン ページで、ユーザーはユーザー名とパスワードを入力する必要があります。システムは、入力されたユーザー名とパスワードに基づいてデータベースから一致するレコードを検索します。一致するレコードがある場合、ユーザーはメイン画面にリダイレクトされます。それ以外の場合は、ログイン失敗メッセージが表示されます。
次に、登録ページとログイン ページのサンプル コードを示します。
登録ページ (register.php):
<?php // 处理用户注册 if ($_SERVER["REQUEST_METHOD"] == "POST") { $username = $_POST['username']; $password = $_POST['password']; // 将用户名和密码存储在数据库中 header("Location: login.php"); exit(); } ?> <form action="" method="POST"> <label for="username">用户名:</label> <input type="text" id="username" name="username"> <br> <label for="password">密码:</label> <input type="password" id="password" name="password"> <br> <input type="submit" value="注册"> </form>
ログイン ページ (login.php):
<?php // 处理用户登录 if ($_SERVER["REQUEST_METHOD"] == "POST") { $username = $_POST['username']; $password = $_POST['password']; // 从数据库中查找匹配的记录 if (有匹配记录) { header("Location: index.php"); exit(); } else { $errorMessage = "用户名或密码错误"; } } ?> <form action="" method="POST"> <label for="username">用户名:</label> <input type="text" id="username" name="username"> <br> <label for="password">密码:</label> <input type="password" id="password" name="password"> <br> <input type="submit" value="登录"> </form>
教師はシステムに質問を追加し、対応する試験に割り当てることができる必要があります。以下は、質問を追加するための簡単なページのサンプル コードです。
質問ページの追加 (add_question.php):
<?php // 处理添加题目 if ($_SERVER["REQUEST_METHOD"] == "POST") { $question = $_POST['question']; $option_a = $_POST['option_a']; $option_b = $_POST['option_b']; $option_c = $_POST['option_c']; $option_d = $_POST['option_d']; $answer = $_POST['answer']; // 将题目存储在数据库中 header("Location: manage_questions.php"); exit(); } ?> <form action="" method="POST"> <label for="question">题目:</label> <input type="text" id="question" name="question"> <br> <label for="option_a">选项A:</label> <input type="text" id="option_a" name="option_a"> <br> <label for="option_b">选项B:</label> <input type="text" id="option_b" name="option_b"> <br> <label for="option_c">选项C:</label> <input type="text" id="option_c" name="option_c"> <br> <label for="option_d">选项D:</label> <input type="text" id="option_d" name="option_d"> <br> <label for="answer">答案:</label> <input type="text" id="answer" name="answer"> <br> <input type="submit" value="添加题目"> </form>
次は、試験ページを作成するための簡単なサンプル コードです。
試験ページの作成 (create_exam.php):
<?php // 处理创建考试 if ($_SERVER["REQUEST_METHOD"] == "POST") { $exam_name = $_POST['exam_name']; $exam_time = $_POST['exam_time']; // 将考试存储在数据库中 header("Location: manage_exams.php"); exit(); } ?> <form action="" method="POST"> <label for="exam_name">考试名称:</label> <input type="text" id="exam_name" name="exam_name"> <br> <label for="exam_time">考试时间:</label> <input type="text" id="exam_time" name="exam_time"> <br> <input type="submit" value="创建考试"> </form>
以下は、自動採点のための簡単な試験インターフェイスとサンプル コードです:
試験インターフェイス (exam.php):
<?php // 获取考试题目和答案 $questions = // 从数据库中获取题目 // 处理学生提交的考试答案 if ($_SERVER["REQUEST_METHOD"] == "POST") { $answers = // 从POST数据中获取学生答案 // 自动评分学生考试 // 生成考试报告 header("Location: exam_report.php"); exit(); } ?> <form action="" method="POST"> <?php foreach ($questions as $question) : ?> <h4><?php echo $question['question']; ?></h4> <input type="radio" name="answer_<?php echo $question['id']; ?>" value="A"> <?php echo $question['option_a']; ?><br> <input type="radio" name="answer_<?php echo $question['id']; ?>" value="B"> <?php echo $question['option_b']; ?><br> <input type="radio" name="answer_<?php echo $question['id']; ?>" value="C"> <?php echo $question['option_c']; ?><br> <input type="radio" name="answer_<?php echo $question['id']; ?>" value="D"> <?php echo $question['option_d']; ?><br> <?php endforeach; ?> <br> <input type="submit" value="提交考试"> </form>
自動採点と試験レポート ページ(exam_report.php):
<?php // 从数据库中获取学生考试答案和正确答案 $student_answers = // 从数据库中获取学生考试答案 $correct_answers = // 从数据库中获取正确答案 // 计算得分和生成考试报告 $score = 0; $total_questions = // 计算总题数 $correct_count = 0; foreach ($student_answers as $index => $student_answer) { if ($student_answer == $correct_answers[$index]) { $score++; $correct_count++; } } $score_percentage = $score / $total_questions * 100; // 显示考试报告 echo "总题数: " . $total_questions . "<br>"; echo "正确数: " . $correct_count . "<br>"; echo "得分: " . $score . "<br>"; echo "得分百分比: " . $score_percentage . "%"; ?>
概要
上記のサンプル コードを通じて、PHP を使用して簡単なオンライン試験システムを作成できます。もちろん、これは単なる基本的な例であり、実際のニーズに応じてシステムを拡張および改善できます。この記事があなたのお役に立てば幸いです。また、独自のオンライン試験システムの作成が成功することを願っています。
以上がPHP を使用して簡単なオンライン試験システムを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。