当前位置:首页 > PHP

php实现添加商品

2026-02-16 02:49:47PHP

添加商品功能实现

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

数据库表设计

创建商品表(示例SQL):

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架构:

php实现添加商品

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

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

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

相关文章

php长连接实现

php长连接实现

PHP 长连接实现方法 长连接(Keep-Alive)允许客户端与服务器在一次TCP连接中发送和接收多个HTTP请求/响应,减少重复建立连接的开销。以下是PHP中实现长连接的几种方式: 配置HTTP…

php 登录实现

php 登录实现

PHP 登录实现 PHP 登录功能通常包括用户认证、会话管理和安全性措施。以下是实现 PHP 登录功能的关键步骤。 数据库准备 创建一个用户表存储用户信息,通常包括用户名、密码(加密存储)和其他必要…

php 实现队列

php 实现队列

PHP 实现队列的方法 PHP 可以通过多种方式实现队列功能,以下是几种常见的实现方法: 使用数组实现队列 PHP 数组可以通过 array_push 和 array_shift 函数模拟队列的先进…

php实现登陆

php实现登陆

PHP 实现登录功能 创建登录表单 在 HTML 文件中创建一个登录表单,包含用户名和密码输入框,表单的 action 属性指向处理登录的 PHP 文件。 <form action="logi…

php实现支付宝支付

php实现支付宝支付

支付宝支付集成步骤 准备工作 在开始集成支付宝支付前,确保已注册支付宝开放平台账号并完成企业实名认证。创建应用后获取APPID、应用私钥和支付宝公钥。 配置支付宝SDK 通过Composer安装支付…

php 实现锁

php 实现锁

PHP 实现锁的常见方法 文件锁(flock) 利用 flock 函数对文件进行独占锁定,适用于单机环境。 $fp = fopen("lockfile.lock", "w+"); if (flock…