管理多个用户的购物车会话

Posted

技术标签:

【中文标题】管理多个用户的购物车会话【英文标题】:Manage cart session for mulipte users 【发布时间】:2018-08-09 07:31:14 【问题描述】:

我创建了 $_SESSION['cart'] 的购物车名称,并为用户创建了 $_SESSION['user']。当我点击添加到购物车时,相同的产品会显示给所有用户。我想知道如何将特定的 user_id 链接到购物车会话。我是 php 的初学者。请帮帮我。

这里是代码

if(isset($_SESSION["cart"]))
    
       $item_array_id = array_column($_SESSION["cart"], "item_id");
        if(!in_array($_GET['id'], $item_array_id))
            $count = count($_SESSION["cart"]);
            $item_array = array(
        'item_id' =>  $_GET['id'],
            'item_name' => $_POST['hidden_name'],
            'item_price' => $_POST['hidden_price'],
                'item_image' => $_POST['hidden_image']
       );
            $_SESSION["cart"][$count] = $item_array;

        

    
    else
        $item_array = array(
        'item_id' =>  $_GET['id'],
            'item_image' => $_POST['hidden_image'],
            'item_name' => $_POST['hidden_name'],
            'item_price' => $_POST['hidden_price']

       );
        $_SESSION["cart"][0] = $item_array;

    



【问题讨论】:

如果你使用的是php的默认会话设置,那是不可能的;会话对于访问者的浏览器会话是唯一的。你还在做什么,你是否也在使用数据库来存储购物车? 不,我没有使用数据库。我怎样才能使所有用户的唯一会话 每个访问者的会话总是独一无二的,您无需为此做任何事情。 那么我能做些什么来解决这个问题 任何解决方案兄弟 【参考方案1】:

这是未使用“session_start()”来初始化唯一会话的结果。只需在使用会话之前添加它,您就可以开始了。

【讨论】:

我应该为每个页面使用 Session_start(),因为我已经在连接文件夹中使用了它 KK 我会提供我的连接文件夹 $value) define(strtoupper($key),$value); $connection = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME); ?> 输出缓冲区之前有什么东西吗?因为如果在您拥有 'session_start()' 之前发送了一条数据,它将不会发送 cookie,因此会话将无法工作。 解决我的问题,我必须在 2 天内给这个项目

以上是关于管理多个用户的购物车会话的主要内容,如果未能解决你的问题,请参考以下文章

会话管理

HTTP会话的使用和管理

JavaWeb:会话与状态管理

[原创]java WEB学习笔记28: 会话与状态管理Cookie 机制

Java:如何处理 servlet 中的多个会话 [重复]

REST 购物车