在这个数字化时代,电子商务已经成为商业的重要组成部分。对于宠物爱好者来说,一个便捷的在线宠物商店系统不仅能提供丰富的宠物用品,还能带来更好的购物体验。本文将带你一步步用PHP构建一个功能齐全的在线宠物商店系统。
项目规划
首先,我们需要明确系统的基本功能:
- 用户管理:注册、登录、个人信息管理。
- 商品展示:宠物食品、玩具、护理用品等。
- 购物车功能:添加、删除商品,修改数量。
- 订单管理:生成订单、支付、订单状态跟踪。
- 后台管理:商品管理、订单处理、用户管理等。
技术栈选择
- 前端:HTML、CSS、JavaScript
- 后端:PHP
- 数据库:MySQL
- 服务器:Apache/Nginx
数据库设计
数据库是系统的核心,我们需要设计以下几个主要表:
-
用户表(users):
- id
- username
- password
- created_at
-
商品表(products):
- id
- name
- description
- price
- stock
- image
- category
-
订单表(orders):
- id
- user_id
- total_price
- status
- created_at
-
购物车表(cart):
- id
- user_id
- product_id
- quantity
后端实现
用户管理
首先,我们实现用户注册和登录功能。使用PHP的PDO类来操作数据库,确保安全性。
// 注册用户
function registerUser($username, $password, $email) {
$pdo = new PDO('mysql:host=localhost;dbname=pet_store', 'root', '');
$sql = "INSERT INTO users (username, password, email) VALUES (?, ?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute([$username, password_hash($password, PASSWORD_DEFAULT), $email]);
}
// 用户登录
function loginUser($username, $password) {
$pdo = new PDO('mysql:host=localhost;dbname=pet_store', 'root', '');
$sql = "SELECT * FROM users WHERE username = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$username]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
if ($user && password_verify($password, $user['password'])) {
return $user;
}
return false;
}
商品展示
商品展示需要从数据库中读取商品信息,并展示在前端页面上。
// 获取所有商品
function getAllProducts() {
$pdo = new PDO('mysql:host=localhost;dbname=pet_store', 'root', '');
$sql = "SELECT * FROM products";
$stmt = $pdo->query($sql);
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
购物车功能
购物车功能允许用户添加、删除商品,并修改商品数量。
// 添加商品到购物车
function addToCart($user_id, $product_id, $quantity) {
$pdo = new PDO('mysql:host=localhost;dbname=pet_store', 'root', '');
$sql = "INSERT INTO cart (user_id, product_id, quantity) VALUES (?, ?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute([$user_id, $product_id, $quantity]);
}
// 删除购物车中的商品
function removeFromCart($id) {
$pdo = new PDO('mysql:host=localhost;dbname=pet_store', 'root', '');
$sql = "DELETE FROM cart WHERE id = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$id]);
}
订单管理
订单管理包括生成订单和支付功能。
// 生成订单
function createOrder($user_id, $total_price) {
$pdo = new PDO('mysql:host=localhost;dbname=pet_store', 'root', '');
$sql = "INSERT INTO orders (user_id, total_price, status) VALUES (?, ?, 'pending')";
$stmt = $pdo->prepare($sql);
$stmt->execute([$user_id, $total_price]);
}
前端实现
前端使用HTML、CSS和JavaScript来实现用户界面。以下是一个简单的商品展示页面示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Pet Store</title>
<link rel="stylesheet" href="style.css">
</head>
<body
评论(0)