<?php session_start(); // 初始化Session $id = $_GET['id']; // 获取商品id $name = $_GET['name']; // 获商品名 $price = $_GET['price']; // 获取商品单价 $upd = $_GET['upd']; // 获取操作码 if($upd == "add") { // Session中cart变量不存在,直接存入数组 if(empty($_SESSION['cart'])) { $order = array(); $order_item = array( 'id' => $id, 'name' => $name, 'price' => $price, 'num' => 1 ); array_push($order, $order_item); $_SESSION['cart'] = (5); // 第(5)空 } else { // Session存在,判断购物车中是否已有该商品 $order = (6); // 第(6)空 if(in_array($id, array_column($order, 'id'))) { $key = array_search($id, array_column($order, 'id')); $order[$key]['num'] += 1; // 已有,该商品数量加1 } else { // 没有,存入数组 $order_item = array( 'id' => $id, 'name' => $name, 'price' => $price, 'num' => 1 ); array_push($order, $order_item); } $_SESSION['cart'] = $order; } header('Location:index.php'); } if($upd == "cart") { if(!empty($_SESSION['cart'])) { header('Location:cart.php'); } else { header('Location:index.php'); } }
时间: 2023-08-31 15:52:31 浏览: 90
第5行需要填写$order,即将商品信息存入购物车数组后的结果;第6行需要填写$_SESSION['cart'],即从Session中获取购物车数组。可以使用isset函数判断Session中是否存在购物车数组,如果存在则直接获取,否则创建一个空数组。代码如下:
if(empty($_SESSION['cart'])) {
$order = array();
$order_item = array(
'id' => $id,
'name' => $name,
'price' => $price,
'num' => 1
);
array_push($order, $order_item);
$_SESSION['cart'] = $order;
} else {
$order = isset($_SESSION['cart']) ? $_SESSION['cart'] : array();
if(in_array($id, array_column($order, 'id'))) {
$key = array_search($id, array_column($order, 'id'));
$order[$key]['num'] += 1;
} else {
$order_item = array(
'id' => $id,
'name' => $name,
'price' => $price,
'num' => 1
);
array_push($order, $order_item);
}
$_SESSION['cart'] = $order;
}
阅读全文