Cara menggunakan PHP untuk melaksanakan peperiksaan dalam talian yang mudah dan sistem pertanyaan skor
随着网络的发展,在线考试和成绩查询系统在教育和培训领域得到了广泛应用。利用PHP编程语言,我们可以快速实现一个简单的在线考试和成绩查询系统,为学生提供方便的考试和查询服务。下面将介绍如何使用PHP实现该系统,并提供具体的代码示例。
1. Reka bentuk fungsi sistem
Fungsi asas sistem peperiksaan termasuk pendaftaran pelajar, peperiksaan dan pertanyaan skor. Pelajar perlu menyediakan maklumat asas semasa mendaftar, termasuk nombor pelajar, nama, kelas, dll. Bahagian peperiksaan menyediakan dua jenis soalan: soalan aneka pilihan dan soalan isian kosong Pelajar boleh memilih jawapan atau mengisi jawapan mengikut soalan. Dalam bahagian pertanyaan skor, markah ujian pelajar boleh disoal berdasarkan nombor atau nama pelajar mereka.
2. Reka bentuk seni bina sistem
Untuk merealisasikan fungsi pertanyaan peperiksaan dan skor, kami perlu mereka bentuk pangkalan data dan struktur jadual yang sepadan. Cipta pangkalan data bernama peperiksaan dalam pangkalan data MySQL, yang mengandungi dua jadual: pelajar dan markah. Jadual pelajar digunakan untuk menyimpan maklumat asas pelajar, dan jadual markah digunakan untuk menyimpan markah ujian pelajar.
Struktur jadual pelajar adalah seperti berikut:
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 );
Struktur jadual markah adalah seperti berikut:
CREATE TABLE scores ( id INT(11) AUTO_INCREMENT PRIMARY KEY, studentID VARCHAR(20) NOT NULL, score INT(11) NOT NULL );
3. Pelaksanaan kod sistem
,Tulis dalam fail php. kod berikut untuk melaksanakan fungsi pendaftaran pelajar:
<?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>
Dalam fail exam.php, tulis kod berikut untuk melaksanakan fungsi peperiksaan:
<!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>
Dalam hantar. php, tulis kod berikut untuk memproses jawapan yang dihantar oleh pelajar dan mengira Gred:
<?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>
Dalam fail query.php, tulis kod berikut untuk melaksanakan fungsi pertanyaan gred pelajar:
<?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>
Empat. Ujian menjalankan sistem
Simpan kod di atas sebagai fail register.php dan peperiksaan, submit.php dan query.php, dan gunakannya ke pelayan web yang menyokong PHP. Lawati register.php dalam pelayar untuk mendaftarkan pelajar, lawati exam.php untuk mengambil peperiksaan, dan lawati query.php untuk menanyakan keputusan.
Melalui contoh di atas, kami melaksanakan sistem pertanyaan peperiksaan dan skor dalam talian yang mudah menggunakan PHP. Saya percaya bahawa melalui pembelajaran dan amalan, anda boleh memperkaya dan menambah baik sistem untuk memenuhi lebih banyak keperluan.
Atas ialah kandungan terperinci Cara menggunakan PHP untuk melaksanakan sistem pertanyaan peperiksaan dan skor dalam talian yang mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!