
本文详解为何点击“Add to Cart”按钮无响应,并指出核心逻辑错误:item.php 中的添加逻辑未被触发,因其依赖 POST 请求,但表单却提交到了 cart.php(而后者未处理添加逻辑);正确做法是将购物车添加逻辑迁移至 cart.php 并统一处理。
本文详解为何点击“add to cart”按钮无响应,并指出核心逻辑错误:`item.php` 中的添加逻辑未被触发,因其依赖 post 请求,但表单却提交到了 `cart.php`(而后者未处理添加逻辑);正确做法是将购物车添加逻辑迁移至 `cart.php` 并统一处理。
在您当前的实现中,item.php 包含了完整的「添加到购物车」业务逻辑(如读取 POST 数据、更新 $_SESSION['shopping_cart']),但它只会在当前页面收到 POST 请求时执行。然而,关键问题在于:您在 item.php 中的
? 总结与最佳实践
| 问题根源 | 修复方式 |
|---|---|
| 添加逻辑在错误页面(item.php)且未被触发 | 将完整添加流程迁移至接收 POST 的目标页 cart.php |
| SQL 注入漏洞 | 全面使用 PDO 或 MySQLi 预处理语句 + 参数绑定 |
| 重复提交风险 | 添加成功后使用 header('Location: ...') 重定向 |
| 代码耦合度高 | 后续可将数据库操作抽象为函数/类,分离关注点 |
完成上述修改后,点击“Add to Cart”将真正写入 Session 购物车,刷新 cart.php 即可看到商品。此结构也更符合 Web 开发常规模式:表单提交 → 服务端处理 → 重定向/响应 → 展示结果。










