Heim > Backend-Entwicklung > PHP-Tutorial > Wie man mit PHP eine einfache Online-Prüfungsfunktion entwickelt

Wie man mit PHP eine einfache Online-Prüfungsfunktion entwickelt

PHPz
Freigeben: 2023-09-21 09:20:01
Original
1741 Leute haben es durchsucht

Wie man mit PHP eine einfache Online-Prüfungsfunktion entwickelt

Um mit PHP eine einfache Online-Prüfungsfunktion zu entwickeln, sind spezifische Codebeispiele erforderlich

Mit der rasanten Entwicklung des Internets haben immer mehr Schulen und Institutionen damit begonnen, Online-Prüfungen zur Bewertung zu nutzen. Als in der Webentwicklung weit verbreitete Programmiersprache kann PHP problemlos einfache Online-Prüfungsfunktionen implementieren. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP ein einfaches Online-Prüfungssystem entwickeln, und es werden spezifische Codebeispiele bereitgestellt.

1. Datenbankdesign
Das Online-Prüfungssystem muss eine Datenbank verwenden, um Prüfungsfragen und Benutzerantworten zu speichern. Um dies zu erreichen, können wir die MySQL-Datenbank verwenden. Erstellen Sie zunächst eine Datenbank mit dem Namen „examen“ und dann zwei Tabellen: Fragen und Benutzer.

In der Fragentabelle werden Prüfungsfrageninformationen gespeichert, einschließlich Fragen-ID (question_id), Frageninhalt (question_content) und korrekte Antwort (question_answer). Hier nehmen wir als Beispiel Multiple-Choice-Fragen, wobei wir nur eine Option als richtige Antwort verwenden.

Die SQL-Anweisung zum Erstellen der Fragentabelle lautet wie folgt:

CREATE TABLE questions (
   question_id INT AUTO_INCREMENT PRIMARY KEY,
   question_content TEXT NOT NULL,
   question_answer CHAR(1) NOT NULL
);
Nach dem Login kopieren

Die Benutzertabelle wird zum Speichern von Benutzerinformationen und Antwortstatus verwendet, einschließlich Benutzer-ID (user_id), Benutzername (username) und Benutzerantwortstatus (answers). Der Antwortstatus wird im JSON-Format gespeichert, wobei der Schlüssel die Frage-ID und der Wert die Antwort des Benutzers ist.

Die SQL-Anweisung zum Erstellen der Benutzertabelle lautet wie folgt:

CREATE TABLE users (
   user_id INT AUTO_INCREMENT PRIMARY KEY,
   username VARCHAR(50) NOT NULL,
   answers TEXT NOT NULL
);
Nach dem Login kopieren

2. Seitendesign
Das Seitendesign des Online-Prüfungssystems ist relativ einfach, einschließlich der Anmeldeseite und der Prüfungsseite.

Die Anmeldeseite (login.php) wird für die Anmeldung beim System verwendet. Nachdem Sie den Benutzernamen eingegeben haben, senden Sie das Formular ab, um die Prüfungsseite aufzurufen.

<!DOCTYPE html>
<html>
<head>
   <title>在线考试系统 - 登录</title>
</head>
<body>
   <h2>登录</h2>
   <form action="exam.php" method="POST">
      <label for="username">用户名:</label>
      <input type="text" name="username" required>
      <br><br>
      <input type="submit" value="开始考试">
   </form>
</body>
</html>
Nach dem Login kopieren

Die Prüfungsseite (exam.php) wird verwendet, um Prüfungsfragen anzuzeigen und Benutzern die Auswahl von Antworten zu ermöglichen.

<!DOCTYPE html>
<html>
<head>
   <title>在线考试系统 - 考试</title>
</head>
<body>
   <h2>考试</h2>
   <form action="submit.php" method="POST">
      <?php
         // 连接数据库
         $conn = mysqli_connect("localhost", "root", "", "exam");
         if (!$conn) {
            die("数据库连接失败:" . mysqli_connect_error());
         }

         // 查询题目
         $sql = "SELECT * FROM questions";
         $result = mysqli_query($conn, $sql);

         // 显示题目
         if (mysqli_num_rows($result) > 0) {
            while ($row = mysqli_fetch_assoc($result)) {
               echo "<h3>题目ID:" . $row['question_id'] . "</h3>";
               echo "<p>" . $row['question_content'] . "</p>";
               echo "<label><input type='radio' name='answers[" . $row['question_id'] . "]' value='A'> A</label>";
               echo "<label><input type='radio' name='answers[" . $row['question_id'] . "]' value='B'> B</label>";
               echo "<label><input type='radio' name='answers[" . $row['question_id'] . "]' value='C'> C</label>";
               echo "<label><input type='radio' name='answers[" . $row['question_id'] . "]' value='D'> D</label>";
               echo "<br><br>";
            }
         }

         // 关闭数据库连接
         mysqli_close($conn);
      ?>
      <input type="submit" value="提交答案">
   </form>
</body>
</html>
Nach dem Login kopieren

3. Antworteinreichung und Bewertungsstatistik
Nach dem Absenden der Antwort wird die eingereichte Antwort verarbeitet und die Gesamtpunktzahl berechnet.

Die Einreichungsseite (submit.php) wird verwendet, um die von Benutzern übermittelten Antworten zu verarbeiten, die Antworten des Benutzers in der Datenbank zu speichern und die Punktzahlen zu berechnen.

<?php
   // 连接数据库
   $conn = mysqli_connect("localhost", "root", "", "exam");
   if (!$conn) {
      die("数据库连接失败:" . mysqli_connect_error());
   }

   // 处理提交的答案
   $answers = $_POST['answers'];
   $username = $_COOKIE['username'];

   // 将答案存储到数据库
   $sql = "INSERT INTO users (username, answers) VALUES ('$username', '" . json_encode($answers) . "')";
   mysqli_query($conn, $sql);

   // 计算成绩
   $score = 0;
   $sql = "SELECT question_id, question_answer FROM questions";
   $result = mysqli_query($conn, $sql);
   while ($row = mysqli_fetch_assoc($result)) {
      if (isset($answers[$row['question_id']]) && $answers[$row['question_id']] == $row['question_answer']) {
         $score++;
      }
   }

   // 显示成绩
   echo "<h2>成绩:$score 分</h2>";

   // 关闭数据库连接
   mysqli_close($conn);
?>
Nach dem Login kopieren

Oben erfahren Sie, wie Sie mit PHP einfache Online-Prüfungsfunktionen entwickeln, einschließlich Datenbankdesign, Seitendesign und Implementierung der Antwortübermittlung und Bewertungsstatistik. Dieses Online-Prüfungssystem ist nur ein einfaches Beispiel, das je nach tatsächlichem Bedarf erweitert und optimiert werden kann. Ich hoffe, dieser Artikel kann Ihnen hilfreich sein!

Das obige ist der detaillierte Inhalt vonWie man mit PHP eine einfache Online-Prüfungsfunktion entwickelt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage