张老师:小李,最近学校计划打造一个‘数字校园’平台,方便师生管理课程、查询成绩以及在线交流。你觉得这个项目可以用什么技术来实现呢?
小李:我觉得PHP是一个不错的选择!它易于学习且适合Web应用开发。我们可以结合MySQL数据库来存储数据。
张老师:那具体怎么开始呢?比如,我们先从用户登录功能做起吧。
小李:好的!首先需要创建一个用户表。这是SQL语句:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
role ENUM('student', 'teacher') NOT NULL
);
张老师:明白了,这会创建一个包含用户名、密码和角色的表格。接下来是如何处理登录请求呢?
小李:在PHP中,可以使用以下代码来验证用户的登录信息:
session_start();
$conn = new mysqli("localhost", "root", "", "school_db");
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$username = $_POST['username'];
$password = $_POST['password'];
$stmt = $conn->prepare("SELECT * FROM users WHERE username = ? AND password = ?");
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$_SESSION['user_id'] = $row['id'];
$_SESSION['role'] = $row['role'];
echo "登录成功!";
} else {
echo "用户名或密码错误!";
}
?>
张老师:这段代码看起来很清晰,先检查数据库连接是否正常,然后准备查询语句,并绑定参数防止SQL注入。最后根据结果判断是否允许登录。
小李:没错!接下来我们可以继续扩展功能,比如添加课程管理模块。每个教师可以录入课程信息,学生则可以查看自己选修的课程。
张老师:听起来很有前景。不过,你觉得前端界面应该怎么设计呢?
小李:我们可以使用HTML+CSS来构建简洁直观的界面,同时配合JavaScript实现部分交互效果。例如,当学生登录后,可以直接看到自己的课程列表。
张老师:非常感谢你的建议,看来我们可以着手开发了!