PHP を使用して簡単なオンライン試験とスコア照会システムを実装する方法
随着网络的发展,在线考试和成绩查询系统在教育和培训领域得到了广泛应用。利用PHP编程语言,我们可以快速实现一个简单的在线考试和成绩查询系统,为学生提供方便的考试和查询服务。下面将介绍如何使用PHP实现该系统,并提供具体的代码示例。
1. システム機能の設計
試験の基本機能学生を含むシステムは登録、試験、成績照会の 3 つの部分から構成されます。学生は登録時に学生番号、名前、クラスなどの基本情報を提供する必要があります。試験セクションでは、選択問題と穴埋め問題の 2 種類の問題が用意されており、学生は問題に応じて答えを選択したり、解答を記入したりすることができます。スコア照会セクションでは、生徒番号または名前に基づいて生徒のテストのスコアを照会できます。
2. システムアーキテクチャの設計
試験およびスコアクエリ機能を実現するには、データベースとそれに対応するテーブル構造を設計する必要があります。 MySQL データベースに Exam という名前のデータベースを作成します。このデータベースには、students と得点という 2 つのテーブルが含まれます。学生テーブルは学生の基本情報を保存するために使用され、スコア テーブルは学生のテストのスコアを保存するために使用されます。
学生テーブルの構造は次のとおりです:
CREATE TABLE students ( id INT(11) AUTO_INCREMENT PRIMARY KEY, studentID VARCHAR(20) NOT NULL, name VARCHAR(50) NOT NULL, class VARCHAR(50) NOT NULL );
スコア テーブルの構造は次のとおりです:
CREATE TABLE scores ( id INT(11) AUTO_INCREMENT PRIMARY KEY, studentID VARCHAR(20) NOT NULL, score INT(11) NOT NULL );
3. システム コードの実装
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $studentID = $_POST["studentID"]; $name = $_POST["name"]; $class = $_POST["class"]; $conn = new mysqli("localhost", "username", "password", "exam"); // 修改为实际的数据库连接信息 $sql = "INSERT INTO students (studentID, name, class) VALUES ('$studentID', '$name', '$class')"; if ($conn->query($sql) === TRUE) { echo "注册成功!"; } else { echo "注册失败!"; } $conn->close(); } ?> <!DOCTYPE html> <html> <head> <title>学生注册</title> </head> <body> <h2>学生注册</h2> <form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>"> 学号:<input type="text" name="studentID"><br> 姓名:<input type="text" name="name"><br> 班级:<input type="text" name="class"><br> <input type="submit" value="注册"> </form> </body> </html>
<!DOCTYPE html> <html> <head> <title>考试</title> </head> <body> <h2>考试</h2> <form method="POST" action="submit.php"> <h3>选择题</h3> 1. PHP是一种什么类型的编程语言?<br> A. 面向对象编程语言<br> B. 脚本编程语言<br> C. 编译型语言<br> D. 结构化编程语言<br> <input type="radio" name="answer1" value="A"> A <input type="radio" name="answer1" value="B"> B <input type="radio" name="answer1" value="C"> C <input type="radio" name="answer1" value="D"> D<br> <h3>填空题</h3> 2. PHP的全称是__?__ Hypertext Preprocessor.<br> <input type="text" name="answer2"><br> <input type="submit" value="提交"> </form> </body> </html>
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $answer1 = $_POST["answer1"]; $answer2 = $_POST["answer2"]; $score = 0; if ($answer1 == "B") { $score += 50; } if ($answer2 == "PHP") { $score += 50; } session_start(); $studentID = $_SESSION["studentID"]; $conn = new mysqli("localhost", "username", "password", "exam"); // 修改为实际的数据库连接信息 $sql = "INSERT INTO scores (studentID, score) VALUES ('$studentID', '$score')"; if ($conn->query($sql) === TRUE) { echo "提交成功!成绩为:" . $score; } else { echo "提交失败!"; } $conn->close(); } ?> <!DOCTYPE html> <html> <head> <title>提交</title> </head> <body> </body> </html>
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $studentID = $_POST["studentID"]; $conn = new mysqli("localhost", "username", "password", "exam"); // 修改为实际的数据库连接信息 $sql = "SELECT * FROM scores WHERE studentID = '$studentID'"; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "学号:" . $row["studentID"] . ",成绩:" . $row["score"] . "<br>"; } } else { echo "未查询到成绩信息!"; } $conn->close(); } ?> <!DOCTYPE html> <html> <head> <title>成绩查询</title> </head> <body> <h2>成绩查询</h2> <form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>"> 学号:<input type="text" name="studentID"><br> <input type="submit" value="查询"> </form> </body> </html>
以上がPHP を使用して簡単なオンライン試験とスコア照会システムを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。