使用会话变量在 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 中创建一个简单的购物篮的主要内容,如果未能解决你的问题,请参考以下文章
当 Rails 中的同一域上存在会话时,如何在 PHP 中创建会话?
php 在WooCommerce中创建直接购物车/结帐/页面添加到购物车按钮。