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

标签: php jsp


【解决方案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 天内给这个项目
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-16
  • 2011-08-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多