统一身份认证与迎新系统的实现
在现代高校信息化建设中,“迎新”作为一项重要工作,需要一个高效且安全的管理系统来支持。为了简化新生信息管理流程,提高工作效率,我们引入了“统一身份认证”的概念。这不仅能够确保数据的一致性和安全性,还能提升用户体验。
首先,我们需要设计一个用户表(users),包含用户ID(user_id)、用户名(username)、密码(password)等字段。以下是使用MySQL创建该表的SQL语句:
<code>
CREATE TABLE users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
</code>
接下来是用户注册功能的实现。当用户提交注册信息时,系统会检查该用户名是否已存在。如果不存在,则将新用户的详细信息保存到数据库中。
<code>
function register($username, $password) {
// 连接数据库
$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 检查用户名是否已存在
$sql = "SELECT * FROM users WHERE username = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
echo "用户名已存在";
} else {
// 密码加密存储
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
$sql = "INSERT INTO users (username, password) VALUES (?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ss", $username, $hashed_password);
$stmt->execute();
echo "注册成功";
}
$stmt->close();
$conn->close();
}
</code>
用户登录时,系统同样需要进行数据库查询,验证提供的用户名和密码是否匹配。如果匹配,则允许用户登录;否则,提示错误信息。
<code>
function login($username, $password) {
// 连接数据库
$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT * FROM users WHERE username = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows == 1) {
$row = $result->fetch_assoc();
if (password_verify($password, $row['password'])) {
echo "登录成功";
} else {
echo "密码错误";
}
} else {
echo "用户名不存在";
}
$stmt->close();
$conn->close();
}
</code>
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!