租房系统php实现
租房系统PHP实现
数据库设计
创建数据库表结构是租房系统的基础。需要设计用户表、房源表、订单表等。
用户表(users):
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL,
email VARCHAR(100) NOT NULL,
phone VARCHAR(20),
role ENUM('admin', 'landlord', 'tenant') DEFAULT 'tenant',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
房源表(properties):
CREATE TABLE properties (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
description TEXT,
price DECIMAL(10,2) NOT NULL,
address TEXT NOT NULL,
type ENUM('apartment', 'house', 'condo') NOT NULL,
bedrooms INT,
bathrooms INT,
area INT,
landlord_id INT,
status ENUM('available', 'rented') DEFAULT 'available',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (landlord_id) REFERENCES users(id)
);
订单表(orders):
CREATE TABLE orders (
id INT AUTO_INCREMENT PRIMARY KEY,
property_id INT,
tenant_id INT,
start_date DATE,
end_date DATE,
total_price DECIMAL(10,2),
status ENUM('pending', 'approved', 'rejected') DEFAULT 'pending',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (property_id) REFERENCES properties(id),
FOREIGN KEY (tenant_id) REFERENCES users(id)
);
用户认证系统
实现用户注册、登录和权限管理功能。
注册功能示例:
function registerUser($username, $password, $email, $role) {
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
$sql = "INSERT INTO users (username, password, email, role) VALUES (?, ?, ?, ?)";
$stmt = $pdo->prepare($sql);
return $stmt->execute([$username, $hashed_password, $email, $role]);
}
登录功能示例:
function loginUser($username, $password) {
$sql = "SELECT * FROM users WHERE username = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$username]);
$user = $stmt->fetch();
if ($user && password_verify($password, $user['password'])) {
$_SESSION['user_id'] = $user['id'];
$_SESSION['username'] = $user['username'];
$_SESSION['role'] = $user['role'];
return true;
}
return false;
}
房源管理功能
实现房源的添加、编辑、删除和查询功能。
添加房源示例:
function addProperty($title, $description, $price, $address, $type, $bedrooms, $bathrooms, $area, $landlord_id) {
$sql = "INSERT INTO properties (title, description, price, address, type, bedrooms, bathrooms, area, landlord_id)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $pdo->prepare($sql);
return $stmt->execute([$title, $description, $price, $address, $type, $bedrooms, $bathrooms, $area, $landlord_id]);
}
查询房源示例:

function getProperties($filters = []) {
$sql = "SELECT * FROM properties WHERE 1=1";
$params = [];
if (isset($filters['type'])) {
$sql .= " AND type = ?";
$params[] = $filters['type'];
}
if (isset($filters['min_price'])) {
$sql .= " AND price >= ?";
$params[] = $filters['min_price'];
}
if (isset($filters['max_price'])) {
$sql .= " AND price <= ?";
$params[] = $filters['max_price'];
}
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
return $stmt->fetchAll();
}
订单管理功能
实现租房的申请、审批和管理功能。
创建订单示例:
function createOrder($property_id, $tenant_id, $start_date, $end_date, $total_price) {
$sql = "INSERT INTO orders (property_id, tenant_id, start_date, end_date, total_price)
VALUES (?, ?, ?, ?, ?)";
$stmt = $pdo->prepare($sql);
return $stmt->execute([$property_id, $tenant_id, $start_date, $end_date, $total_price]);
}
审批订单示例:
function updateOrderStatus($order_id, $status) {
$sql = "UPDATE orders SET status = ? WHERE id = ?";
$stmt = $pdo->prepare($sql);
return $stmt->execute([$status, $order_id]);
}
前端界面设计
使用HTML、CSS和JavaScript创建用户友好的界面。
房源列表页面示例:

<div class="property-list">
<?php foreach ($properties as $property): ?>
<div class="property-card">
<h3><?= htmlspecialchars($property['title']) ?></h3>
<p><?= htmlspecialchars($property['description']) ?></p>
<p>价格: <?= $property['price'] ?> 元/月</p>
<p>地址: <?= htmlspecialchars($property['address']) ?></p>
<a href="property.php?id=<?= $property['id'] ?>">查看详情</a>
</div>
<?php endforeach; ?>
</div>
安全措施
确保系统安全性,防止SQL注入和XSS攻击。
使用预处理语句防止SQL注入:
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$username]);
防止XSS攻击:
echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');
部署与维护
将系统部署到服务器并定期维护。
部署步骤:
- 购买域名和服务器空间
- 配置PHP和MySQL环境
- 上传代码到服务器
- 配置数据库连接
- 设置文件权限
维护建议:
- 定期备份数据库
- 更新PHP和MySQL版本
- 监控系统性能
- 修复发现的漏洞
以上是租房系统PHP实现的基本框架,可以根据实际需求进行扩展和优化。






