>  기사  >  백엔드 개발  >  PHP를 사용하여 간단한 온라인 시험 및 점수 쿼리 시스템을 구현하는 방법

PHP를 사용하여 간단한 온라인 시험 및 점수 쿼리 시스템을 구현하는 방법

WBOY
WBOY원래의
2023-09-25 08:28:431205검색

PHP를 사용하여 간단한 온라인 시험 및 점수 쿼리 시스템을 구현하는 방법

PHP를 사용하여 간단한 온라인 시험 및 점수 조회 시스템을 구현하는 방법

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

1. 시스템 기능 설계

시험 시스템의 기본 기능은 학생 등록, 시험, 점수 조회의 세 부분으로 구성됩니다. 학생은 등록 시 학번, 이름, 반 등 기본 정보를 제공해야 합니다. 시험 섹션에는 객관식 문제와 빈칸 채우기 문제의 두 가지 유형의 문제가 제공됩니다. 학생들은 문제에 따라 답을 선택하거나 채울 수 있습니다. 성적조회에서는 학번이나 이름을 기준으로 수험생의 시험성적을 조회할 수 있습니다.

2. 시스템 아키텍처 설계

시험 및 점수 조회 기능을 구현하려면 데이터베이스 및 해당 테이블 구조를 설계해야 합니다. MySQL 데이터베이스에 이름이 Exam인 데이터베이스를 만듭니다. 이 데이터베이스에는 학생과 점수라는 두 개의 테이블이 포함되어 있습니다. 학생 테이블은 학생의 기본 정보를 저장하는 데 사용되고, 점수 테이블은 학생의 시험 점수를 저장하는 데 사용됩니다.

학생 테이블의 구조는 다음과 같습니다.

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>
  1. Exam part

exum.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>
  1. Submit Answer part

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>
  1. 성적 쿼리 부분

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. test를 실행하는 시스템

위의 코드를 각각 php, submit.php, query.php 파일로 저장하고 PHP를 지원하는 웹 서버에 배포하세요. 학생을 등록하려면 브라우저에서register.php를 방문하고, 시험에 응시하려면 Exam.php를 방문하고, 결과를 쿼리하려면 query.php를 방문하세요.

위의 예를 통해 PHP를 사용하여 간단한 온라인 시험 및 점수 조회 시스템을 구현했습니다. 저는 학습과 실천을 통해 시스템을 더욱 풍부하게 하고 개선하여 더 많은 요구를 충족할 수 있다고 믿습니다.

위 내용은 PHP를 사용하여 간단한 온라인 시험 및 점수 쿼리 시스템을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.