在这个数字化时代,二手商品交易市场日益繁荣。如何快速搭建一个功能齐全的在线二手商品发布系统,成为了许多创业者和开发者的关注焦点。本文将带你一步步用PHP实现这一目标。
项目背景与需求分析
首先,明确我们的目标:一个用户可以发布、浏览和管理二手商品的在线平台。基本功能包括用户注册登录、商品发布、商品浏览、搜索过滤以及用户间的私信交流。
功能模块划分
- 用户管理:注册、登录、个人信息管理。
- 商品管理:发布商品、编辑商品、删除商品。
- 浏览与搜索:商品列表展示、关键词搜索、分类过滤。
- 私信系统:用户间私信交流。
技术选型
- 后端语言:PHP
- 数据库:MySQL
- 前端技术:HTML、CSS、JavaScript
- 框架选择:原生PHP(适合初学者理解)
环境搭建
- 安装XAMPP:XAMPP是一个集成了Apache、MySQL、PHP的集成开发环境,非常适合本地开发。
- 创建数据库:在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)