使用会话变量在 PHP 中创建一个简单的购物篮

Posted

技术标签:

【中文标题】使用会话变量在 PHP 中创建一个简单的购物篮【英文标题】:Creating a simple shopping basket in PHP using session variables 【发布时间】:2012-02-19 17:10:35 【问题描述】:

我对 ISSET、GET 和 SESSIONS 感到非常困惑,试图创建一个简单的购物篮。我的每件商品下都有一个“添加到购物车”链接,当单击此链接时,我想为购物车启动一个会话,并将该商品添加到购物车中,因此我的商品数量变量将增加到 1,价格将从所选项目的值开始。我在页面顶部有一个迷你购物车,我希望这些值在选择项目时更新。

我把我的代码弄得一团糟,然后全部删除以重新开始,在我这样做之前我希望得到一些建议,我已经阅读了一周的购物车和会话。我有一个数据库,其中包含产品和信息,如范围、类别和价格等。我在迷你购物篮中也有链接,可以清除购物篮并在网页中打开购物篮以提供更多详细信息。

【问题讨论】:

我知道这不是你要问的,但我已经看到人们使用 CodeIgniter 这样的框架取得了巨大的成功,而不是重新发明***并可能使事情变得非常不安全和一场噩梦以后更新。看看CodeIgniter,它有一个内置的数据库处理程序,允许你使用他们的'shopping cart'功能,最重要的是它有很棒的documentation 感谢您的意见,我会考虑您的建议。但是,我需要学习和了解如何从头开始构建购物车。谢谢。 问题是有很多方法可以做到这一点,根据您的情况,其中许多方法都是正确的,从简单的推车到复杂的推车。没有正确的方法可以做到这一点,但是通过框架路线您可以更深入地了解流程。 【参考方案1】:

你应该使用 POST,而不是 GET 假设您在 $_POST['item'] 变量中有一个项目 ID:

session_start();
if (isset($_POST['item'])) 
    $_SESSION['cart'][] = $_POST['item'];
    header("Location: ".$_SERVER['REQUEST_URI']);
    exit;

【讨论】:

我看到 POST 比使用 GET 更安全,谢谢您的建议!

以上是关于使用会话变量在 PHP 中创建一个简单的购物篮的主要内容,如果未能解决你的问题,请参考以下文章

我如何在 React 中使用 PHP 会话?

在 PHP 登录脚本中使用会话和会话变量

当 Rails 中的同一域上存在会话时,如何在 PHP 中创建会话?

php 在WooCommerce中创建直接购物车/结帐/页面添加到购物车按钮。

在 Node.js 中创建一个持久的 bash shell 会话,知道命令何时完成,并读取和修改源/导出的变量

PHP 在 NFS 共享目录中创建空会话