PHP打造在线二手商品发布平台

admin 2025-01-13 205 0

在这个数字化时代,二手商品交易市场日益繁荣。如何快速搭建一个功能齐全的在线二手商品发布系统,成为了许多创业者和开发者的关注焦点。本文将带你一步步用PHP实现这一目标。

PHP打造在线二手商品发布平台

项目背景与需求分析

首先,明确我们的目标:一个用户可以发布、浏览和管理二手商品的在线平台。基本功能包括用户注册登录、商品发布、商品浏览、搜索过滤以及用户间的私信交流。

功能模块划分

  1. 用户管理:注册、登录、个人信息管理。
  2. 商品管理:发布商品、编辑商品、删除商品。
  3. 浏览与搜索:商品列表展示、关键词搜索、分类过滤。
  4. 私信系统:用户间私信交流。

技术选型

  • 后端语言:PHP
  • 数据库:MySQL
  • 前端技术:HTML、CSS、JavaScript
  • 框架选择:原生PHP(适合初学者理解)

环境搭建

  1. 安装XAMPP:XAMPP是一个集成了Apache、MySQL、PHP的集成开发环境,非常适合本地开发。
  2. 创建数据库:在MySQL中创建一个名为second_hand的数据库,并设计用户表(users)、商品表(products)和私信表(messages)。
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(255) NOT NULL,
    email VARCHAR(100) NOT NULL
);

CREATE TABLE products (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    title VARCHAR(100) NOT NULL,
    description TEXT,
    price DECIMAL(10, 2),
    category VARCHAR(50),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES users(id)
);

CREATE TABLE messages (
    id INT AUTO_INCREMENT PRIMARY KEY,
    sender_id INT,
    receiver_id INT,
    content TEXT,
    sent_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (sender_id) REFERENCES users(id),
    FOREIGN KEY (receiver_id) REFERENCES users(id)
);

后端开发

用户管理

注册与登录

// register.php
<?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;
}
$conn->close();
?>
// login.php
<?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 "登录成功";
        session_start();
        $_SESSION['user_id'] = $user['id'];
    } else {
        echo "密码错误";
    }
} else {
    echo "用户不存在";
}
$conn->close();
?>

商品管理

发布商品

// add_product.php
<?php
include 'db.php';
session_start();

$user_id = $_SESSION['user_id'];
$title = $_POST['title'];
$description = $_POST['description'];
$price = $_POST['price'];
$category = $_POST['category'];

$sql = "INSERT INTO products (user_id, title, description, price, category) VALUES ('$user_id', '$title', '$description', '$price', '$category')";
if ($conn->query($sql) === TRUE) {
    echo "商品发布成功";
} else {
    echo "商品发布失败: " . $conn->error;
}
$conn->close();
?>

前端开发

商品列表展示


<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>二手商品交易平台</title>
</head>
<body>
    <h1>商品列表</h1>
    <div id="product-list">
        <!-- 商品列表将通过AJAX动态加载 -->
    </div>
    <script>
        fetch('get_products.php')
            .then(response => response.json())
            .then(data => {
                const productList = document.getElementById('product-list');
                data.forEach(product => {
                    const productDiv = document.createElement('div');
                    productDiv.innerHTML = `
                        <h2>${product.title}</h2>
                        <p>${product.description}</p>
                        <

评论(0)