php写的自习室管理系统代码
时间: 2025-01-22 08:16:21 浏览: 31
好的,以下是一个简单的PHP自习室管理系统的示例代码。这个系统包括用户注册、登录、预订自习室等功能。
### 数据库设计
首先,我们需要设计数据库表。假设我们有三个表:`users`(用户表)、`rooms`(自习室表)和`bookings`(预订表)。
```sql
-- users表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- rooms表
CREATE TABLE rooms (
id INT AUTO_INCREMENT PRIMARY KEY,
room_number VARCHAR(10) NOT NULL UNIQUE,
capacity INT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- bookings表
CREATE TABLE bookings (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
room_id INT NOT NULL,
booking_date DATE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (room_id) REFERENCES rooms(id)
);
```
### 用户注册和登录
接下来,我们编写用户注册和登录的PHP代码。
```php
<?php
// register.php
session_start();
include 'db.php';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username'];
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
$stmt = $pdo->prepare("INSERT INTO users (username, password) VALUES (?, ?)");
if ($stmt->execute([$username, $password])) {
$_SESSION['user_id'] = $pdo->lastInsertId();
header('Location: index.php');
exit();
}
}
?>
<!-- login.php -->
<?php
session_start();
include 'db.php';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$username]);
$user = $stmt->fetch();
if ($user && password_verify($password, $user['password'])) {
$_SESSION['user_id'] = $user['id'];
header('Location: index.php');
exit();
}
}
?>
```
### 自习室预订
然后,我们编写自习室预订的PHP代码。
```php
<?php
// book.php
session_start();
include 'db.php';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$user_id = $_SESSION['user_id'];
$room_id = $_POST['room_id'];
$booking_date = $_POST['booking_date'];
$stmt = $pdo->prepare("INSERT INTO bookings (user_id, room_id, booking_date) VALUES (?, ?, ?)");
if ($stmt->execute([$user_id, $room_id, $booking_date])) {
echo "预订成功!";
} else {
echo "预订失败!";
}
}
?>
```
### 自习室列表
最后,我们编写自习室列表的PHP代码。
```php
<?php
// index.php
session_start();
include 'db.php';
$stmt = $pdo->query("SELECT * FROM rooms");
$rooms = $stmt->fetchAll();
?>
<!DOCTYPE html>
<html>
<head>
<title>自习室管理系统</title>
</head>
<body>
<h1>自习室列表</h1>
<ul>
<?php foreach ($rooms as $room): ?>
<li>
<?php echo $room['room_number']; ?> - 容量: <?php echo $room['capacity']; ?>
<form method="post" action="book.php">
<input type="hidden" name="room_id" value="<?php echo $room['id']; ?>">
<input type="date" name="booking_date">
<button type="submit">预订</button>
</form>
</li>
<?php endforeach; ?>
</ul>
</body>
</html>
```
###
阅读全文
相关推荐

















