Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour implémenter un système simple d'examen en ligne et de requête de score

Comment utiliser PHP pour implémenter un système simple d'examen en ligne et de requête de score

WBOY
WBOYoriginal
2023-09-25 08:28:431123parcourir

Comment utiliser PHP pour implémenter un système simple dexamen en ligne et de requête de score

Comment utiliser PHP pour mettre en œuvre un système simple d'examen en ligne et de requête de notes

随着网络的发展,在线考试和成绩查询系统在教育和培训领域得到了广泛应用。利用PHP编程语言,我们可以快速实现一个简单的在线考试和成绩查询系统,为学生提供方便的考试和查询服务。下面将介绍如何使用PHP实现该系统,并提供具体的代码示例。

1. Conception des fonctions du système

Les fonctions de base du système d'examen comprennent l'inscription des étudiants, l'examen et la requête de notes. Les étudiants doivent fournir des informations de base lors de leur inscription, notamment leur numéro d'étudiant, leur nom, leur classe, etc. La section examen propose deux types de questions : les questions à choix multiples et les questions à remplir. Les étudiants peuvent choisir des réponses ou remplir les réponses en fonction des questions. Dans la section de demande de résultats, les résultats des tests des étudiants peuvent être interrogés en fonction de leur numéro ou de leur nom d'étudiant.

2. Conception de l'architecture du système

Afin de réaliser les fonctions d'examen et de requête de notes, nous devons concevoir la base de données et la structure de table correspondante. Créez une base de données nommée exam dans la base de données MySQL, qui contient deux tables : étudiants et scores. La table des étudiants est utilisée pour stocker les informations de base des étudiants et la table des scores est utilisée pour stocker les résultats des tests des étudiants.

La structure du tableau des étudiants est la suivante :

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
);

La structure du tableau des scores est la suivante :

CREATE TABLE scores (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    studentID VARCHAR(20) NOT NULL,
    score INT(11) NOT NULL
);

3. Implémentation du code système

  1. Partie inscription des étudiants

Dans le fichier register.php, écrivez le code suivant pour implémenter la fonction d'inscription des étudiants :

<?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>
  1. Partie examen

Dans le fichier exam.php, écrivez le code suivant pour implémenter la fonction d'examen :

<!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>
  1. Soumettre la partie réponse

Dans la soumission. php, écrivez le code suivant pour traiter les réponses soumises par les étudiants et calculer les notes :

<?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>
  1. Partie de requête de note

Dans le fichier query.php, écrivez le code suivant pour implémenter la fonction de requête de note de l'étudiant :

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

Quatre. Système exécutant le test

Enregistrez les codes ci-dessus sous les fichiers register.php et exam respectivement, submit.php et query.php, et déployez-les sur un serveur Web prenant en charge PHP. Visitez register.php dans le navigateur pour inscrire les étudiants, visitez exam.php pour passer l'examen et visitez query.php pour interroger les résultats.

Grâce aux exemples ci-dessus, nous avons implémenté un système simple d'examen en ligne et de requête de scores utilisant PHP. Je crois que grâce à l'apprentissage et à la pratique, vous pouvez enrichir et améliorer davantage le système pour répondre à davantage de besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn