PHP实现在线拼车服务系统

admin 2025-01-13 494 0

在这个快节奏的时代,拼车服务已成为都市生活中不可或缺的一部分。本文将带你一步步用PHP搭建一个简易的在线拼车服务系统,让出行更加便捷。

PHP实现在线拼车服务系统

项目背景

随着城市交通压力的增大,拼车不仅能节省费用,还能减少碳排放,缓解交通拥堵。基于此,我们决定开发一个在线拼车服务系统,帮助用户高效匹配拼车伙伴。

技术选型

  • 后端语言:PHP
  • 数据库:MySQL
  • 前端技术:HTML, CSS, JavaScript
  • 框架:无(原生PHP)

系统功能

  1. 用户注册与登录:用户可以通过注册账号并登录系统。
  2. 发布拼车信息:用户可以发布自己的拼车需求。
  3. 搜索拼车信息:用户可以搜索并查看他人的拼车信息。
  4. 匹配与联系:系统提供匹配功能,用户可以联系拼车伙伴。

数据库设计

用户表(users)

字段名 数据类型 说明
id INT 用户ID
username VARCHAR 用户名
password VARCHAR 密码(加密存储)
email 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)