在这个快节奏的时代,拼车服务已成为都市生活中不可或缺的一部分。本文将带你一步步用PHP搭建一个简易的在线拼车服务系统,让出行更加便捷。
项目背景
随着城市交通压力的增大,拼车不仅能节省费用,还能减少碳排放,缓解交通拥堵。基于此,我们决定开发一个在线拼车服务系统,帮助用户高效匹配拼车伙伴。
技术选型
- 后端语言:PHP
- 数据库:MySQL
- 前端技术:HTML, CSS, JavaScript
- 框架:无(原生PHP)
系统功能
- 用户注册与登录:用户可以通过注册账号并登录系统。
- 发布拼车信息:用户可以发布自己的拼车需求。
- 搜索拼车信息:用户可以搜索并查看他人的拼车信息。
- 匹配与联系:系统提供匹配功能,用户可以联系拼车伙伴。
数据库设计
用户表(users)
字段名 | 数据类型 | 说明 |
---|---|---|
id | INT | 用户ID |
username | VARCHAR | 用户名 |
password | VARCHAR | 密码(加密存储) |
VARCHAR | 邮箱 |
拼车信息表(rides)
字段名 | 数据类型 | 说明 |
---|---|---|
id | INT | 拼车信息ID |
user_id | INT | 发布者用户ID |
start_point | VARCHAR | 出发点 |
end_point | VARCHAR | 目的地 |
date_time | DATETIME | 出发时间 |
seats | INT | 可用座位数 |
后端实现
用户注册
<?php
// register.php
include 'db.php';
$username = $_POST['username'];
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
$email = $_POST['email'];
$sql = "INSERT INTO users (username, password, email) VALUES ('$username', '$password', '$email')";
if ($conn->query($sql) === TRUE) {
echo "注册成功";
} else {
echo "注册失败: " . $conn->error;
}
?>
用户登录
<?php
// login.php
include 'db.php';
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM users WHERE username='$username'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$user = $result->fetch_assoc();
if (password_verify($password, $user['password'])) {
echo "登录成功";
} else {
echo "密码错误";
}
} else {
echo "用户不存在";
}
?>
发布拼车信息
<?php
// post_ride.php
include 'db.php';
$user_id = $_POST['user_id'];
$start_point = $_POST['start_point'];
$end_point = $_POST['end_point'];
$date_time = $_POST['date_time'];
$seats = $_POST['seats'];
$sql = "INSERT INTO rides (user_id, start_point, end_point, date_time, seats) VALUES ('$user_id', '$start_point', '$end_point', '$date_time', '$seats')";
if ($conn->query($sql) === TRUE) {
echo "发布成功";
} else {
echo "发布失败: " . $conn->error;
}
?>
搜索拼车信息
<?php
// search_rides.php
include 'db.php';
$start_point = $_POST['start_point'];
$end_point = $_POST['end_point'];
$sql = "SELECT * FROM rides WHERE start_point='$start_point' AND end_point='$end_point'";
$result = $conn->query($sql);
$rides = [];
while ($row = $result->fetch_assoc()) {
$rides[] = $row;
}
echo json_encode($rides);
?>
前端实现
注册页面
<!DOCTYPE html>
<html>
<head>
<title>注册</title>
</head>
<body>
<form action="register.php" method="post">
用户名: <input type="text" name="username"><br>
密码: <input type="password" name="password"><br>
邮箱: <input type="email" name="email"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
登录页面
<!DOCTYPE html>
评论(0)