猜您喜欢::不锈钢烤漆护栏多少钱一平方-不锈钢烤漆护栏单价 什么是aqi指数-空气质量AQI指数 不锈钢清洗剂介绍-不锈钢清洗剂介绍 空乘艺考示范视频-空乘艺考示范短视频 好的搬家公司价格-搬家公司报价 所有自考成绩查询-自考成绩查询全部 英语四级成绩下载(英语四级成绩下载) 澳洲留学大概需要给中介多少钱(澳洲留学中介费用约1万) 煤气灶点火器枪怎么用-煤气灶点火器使用指南 初中数学常用公式大全-初中数学常用公式汇总
学生成绩管理系统源码 环境搭建与启动 项目启动贼好办,只需求三个文件,直接双击就能跑。 起初是数据库连接。使用数据库自带的 MySQL 驱动,配置好:`$hostname='localhost'`, `$username='root'`, `$password=''`。然后打开 php.ini 文件,把 `enableullah` 改回 false,不然数据库连接会崩。 文件结构要好办粗暴,千万别搞乱七八糟的目录结构。 ```php prepare("SELECT user, pass FROM users WHERE user = ?"); $stmt->execute([$username]); $user = $stmt->fetch(PDO::FETCH_ASSOC); if ($user && password_verify($password, $user['pass'])) { $_SESSION['user_id'] = $user['user']; $_SESSION['username'] = $user['user']; header('Location: index.php'); exit(); } } echo "登录黄了"; } if (isset($_GET['action']) && $_GET['action'] 'add_student') { $name = $_POST['name']; $grade = $_POST['grade']; $avg = $_POST['avg']; $query = "INSERT INTO student (name, grade, avg) VALUES (?, ?, ?)"; $stmt = $pdo->prepare($query); $stmt->execute([$name, $grade, $avg]); echo "添加成功"; } ``` 数据库设计 表结构挺固定,别想忒多。 ```sql CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, user VARCHAR(50), pass VARCHAR(20) ); CREATE TABLE student ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), grade VARCHAR(20), avg INT ); ``` 核心数据展示逻辑 这里展示几个真场景的数据,看看系统如何工作。 ```php query($sql); $students = $stmt->fetchAll(PDO::FETCH_ASSOC); // 假设这里有个成绩录入页面 // $id = $_GET['id']; // 演示用,实际项目里得加 validation // $stmt = $pdo->prepare("UPDATE student SET grade=?, avg=? WHERE id=?"); // $stmt->execute(['B', 85, $id]); ``` ```php 1, 'name' => '张三', 'grade' => 'A', 'avg' => 92], ['id' => 2, 'name' => '李四', 'grade' => 'B', 'avg' => 88], ['id' => 3, 'name' => '王五', 'grade' => 'A', 'avg' => 95], ['id' => 4, 'name' => '赵六', 'grade' => 'C', 'avg' => 76], ]; foreach ($students as $s) { echo sprintf("%s: %s 分 (平均 %.1f)n", $s['name'], $s['grade'], $s['avg']); } ``` 异常处理与日志 遇到毛病别慌,系统会自动记录。 ```php function logError($message) { error_log("学生系统毛病:$message"); // 也能够用 $this->logError() 在管住器里调用 } ``` 增添一个防注入保护,别看那会儿不用,但目前还是保留。 ```php function insertStudent($name, $grade) { // 好办验证 if (strlen($name) < 3 || strlen($grade) < 3) { logError("姓名或成绩忒短"); return false; } // 真正的 SQL 插入 $stmt = $pdo->prepare("INSERT INTO student (name, grade, avg) VALUES (?, ?, ?)"); $stmt->execute([$name, $grade, 80]); // 演示数据,真场景里要计算平均分 return true; } ``` 总结 这就是一个轻量级的学生成绩系统。 核心逻辑就是:建表 -> 联表查询 -> 插入数据 -> 回 JSON。 赶明儿想改成绩,直接改 SQL 要么改 PHP 里的逻辑就行,别怕。 记得定期备份数据,不然删了就得重装服务器。 注意:以上代码仅为演示,造环境请务必使用 HTTPS,并设置强密码策略。