我正在尝试使用SESSIONS创建一个PHP电子商务网站。每种产品可以具有产品类型(蔬菜,牛肉,虾)和/或尺寸的不同选项。我如何在会话中组织这个?我查看了this堆栈溢出问题,但是,客户如何可以将带有尺寸c的b型产品添加到购物车中,然后将带有尺寸d的b型产品a添加到购物车中回答?有没有其他方法可以将其组织成一个会话?
答案 0 :(得分:1)
如果您想在购物车中添加不同类型的产品,可以按照相关联的方式进行操作,但需要将类型添加到产品ID。
我的意思是这样做:
$_SESSION['cart'][$id.'-'.$type] = [
'type' => $type,
'quantity' => 1,
'size' => 'M',
// etc...
]
这样每种类型都是唯一的。
答案 1 :(得分:0)
也许您可以创建一个包含产品和产品信息的(多维)数组,然后 json 对其进行编码并将其保存为会话,然后在PHP中需要时可以对其进行解码。 E.G。
$products = array
(
array("Beef",22,18),
array("Lamb",15,13),
array("Chicken",5,2),
);
然后
json_encode($products);
这将是这样的
[["Beef",22,18],["Lamb",15,13],["Chicken",5,2]]
可以保存为cookie或会话,然后在需要时可以按照
进行编码$var = json_decode($_SESSION["basket"]);
您还可以在会话数组中添加更多值
array_push($_SESSION['cart'], $product);