ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して簡単なオンライン試験とスコア照会システムを実装する方法

PHP を使用して簡単なオンライン試験とスコア照会システムを実装する方法

WBOY
WBOYオリジナル
2023-09-25 08:28:431223ブラウズ

PHP を使用して簡単なオンライン試験とスコア照会システムを実装する方法

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. システム コードの実装

  1. 学生登録パート
##register.php ファイルに、学生登録機能を実装する次のコードを記述します:

<?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>

    試験パート
exam.php ファイルに、次のコードを記述して試験関数を実装します。

<!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>

    回答部分の送信
submit.php ファイル内、学生が提出した回答を処理し、スコアを計算するには、次のコードを記述します。

<?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>

    成績クエリ部分
query.php ファイルに、次のコードを記述します。学生成績クエリ関数を実装するには:

<?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>

4. システム動作テスト

上記のコードを 4 つのファイルとして保存します: register.php、exam.php、submit.php、query.php。そして、それらを PHP をサポートする Web サーバーにデプロイします。ブラウザで register.php にアクセスして学生を登録し、exam.php にアクセスして試験を受け、query.php にアクセスして結果をクエリします。

上記の例を通じて、PHP を使用して簡単なオンライン試験とスコアのクエリ システムを実装しました。学びと実践を通じて、より多くのニーズに応えるシステムをさらに充実・改善できると信じています。

以上がPHP を使用して簡単なオンライン試験とスコア照会システムを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。