当前位置:首页 > PHP

php实现添加商品

2026-02-16 02:49:47PHP

添加商品功能实现

在PHP中实现添加商品功能通常涉及数据库操作和表单处理。以下是实现步骤:

php实现添加商品

数据库表设计

创建商品表(示例SQL):

php实现添加商品

CREATE TABLE products (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    price DECIMAL(10,2) NOT NULL,
    description TEXT,
    stock INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

表单页面(add_product.php)

<form action="process_product.php" method="post">
    <label>商品名称:</label>
    <input type="text" name="name" required>

    <label>价格:</label>
    <input type="number" step="0.01" name="price" required>

    <label>描述:</label>
    <textarea name="description"></textarea>

    <label>库存:</label>
    <input type="number" name="stock" value="0">

    <button type="submit">添加商品</button>
</form>

处理逻辑(process_product.php)

<?php
// 连接数据库
$db = new PDO('mysql:host=localhost;dbname=your_db', 'username', 'password');

// 获取表单数据
$name = $_POST['name'];
$price = $_POST['price'];
$description = $_POST['description'];
$stock = $_POST['stock'] ?? 0;

// 准备SQL语句
$stmt = $db->prepare("INSERT INTO products (name, price, description, stock) VALUES (?, ?, ?, ?)");

// 执行插入
if($stmt->execute([$name, $price, $description, $stock])) {
    echo "商品添加成功";
    // 可以重定向到商品列表页
    // header('Location: product_list.php');
} else {
    echo "添加失败: " . $stmt->errorInfo()[2];
}
?>

安全增强措施

// 过滤输入数据
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
$price = filter_input(INPUT_POST, 'price', FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
$description = filter_input(INPUT_POST, 'description', FILTER_SANITIZE_STRING);
$stock = filter_input(INPUT_POST, 'stock', FILTER_SANITIZE_NUMBER_INT);

// 使用预处理语句防止SQL注入(已在上面示例中体现)

文件上传功能

如需上传商品图片:

<form enctype="multipart/form-data">
    <input type="file" name="product_image">
</form>
// 处理上传
if(isset($_FILES['product_image'])) {
    $targetDir = "uploads/";
    $targetFile = $targetDir . basename($_FILES["product_image"]["name"]);

    // 检查文件类型
    $imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION));
    $allowedTypes = ['jpg', 'png', 'jpeg', 'gif'];

    if(in_array($imageFileType, $allowedTypes)) {
        move_uploaded_file($_FILES["product_image"]["tmp_name"], $targetFile);
        // 将文件路径保存到数据库
    }
}

完整MVC实现建议

对于大型项目,建议采用MVC架构:

  1. 创建Product模型类处理数据操作
  2. 使用控制器接收请求并调用模型
  3. 通过视图渲染表单和结果显示

这种结构更易于维护和扩展。

标签: 商品php
分享给朋友:

相关文章

php实现打印功能

php实现打印功能

PHP实现打印功能的方法 在PHP中实现打印功能可以通过多种方式完成,包括直接输出到浏览器、生成PDF文件、调用打印机接口等。以下是几种常见的方法: 直接输出HTML内容 PHP可以通过echo或p…

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素…

php 实现排序

php 实现排序

PHP 实现数组排序的方法 PHP 提供了多种内置函数和方法来实现数组排序,适用于不同的排序需求。以下是一些常见的排序实现方式: 使用 sort() 函数对数组进行升序排序 sort() 函数对数组…

php搜索功能实现

php搜索功能实现

实现基本的PHP搜索功能 使用MySQL数据库和PHP实现简单的关键词搜索功能。需要确保数据库中有可供搜索的表和数据。 // 连接数据库 $conn = new mysqli('localhost'…

无限分类实现 php

无限分类实现 php

无限分类的实现方法 无限分类通常用于构建多层级结构的数据,如商品分类、部门架构等。以下是几种常见的实现方式: 邻接列表模式(Adjacency List) 邻接列表是最简单的实现方式,通过在每个记录…

vue实现商品全选

vue实现商品全选

实现全选功能的基本思路 在Vue中实现商品全选功能,通常需要维护一个商品列表数据和一个选中状态数组。通过计算属性判断是否全选,通过方法控制全选或取消全选。 定义数据模型 data() { ret…