我有一个非常基本的PHP购物车,在我的实时网站上运行良好。
我最近在localhost上备份并安装了该站点,我发现我的代码在localhost上的执行方式不同。我一直试图找出为什么好几天。无奈之下,我正在寻求帮助。
代码是从购物车中获取$ _POST ['qty']和$ _POST ['spit_qty]条目并更新SHOPPING_CART数组。
有问题的代码:
if (isset($_POST['update'])){
if ((isset($_POST['items_qty'])) || (isset($_POST['split_qty'])))
{
foreach ($_POST['items_qty'] as $itemID => $new_qty)
{
$_SESSION['SHOPPING_CART'][$itemID]['qty'] = $new_qty;
}
foreach ($_POST['split_qty'] as $itemID => $new_split_qty)
{
$_SESSION['SHOPPING_CART'][$itemID]['split_qty'] = $new_split_qty;
}
foreach ($_POST['items_qty'] as $itemID => $qty)
{
if (($qty == 0) && ($_SESSION['SHOPPING_CART'][$itemID]['split_qty'] == 0))
{
unset($_SESSION['SHOPPING_CART'][$itemID]);
}
}
}
header('Location: ' . $_SERVER['PHP_SELF']);
$return_page = $_SESSION['return_page'];
}
这是我的Cart数组中有两个项目。
Array
(
[0] => Array
(
[name] => 22314 - BURGER SLIDER W/BUN ANGUS CKD
[price] => 62.30
[qty] => 1
[split_qty] => 0
[split_price] => 0
[pack] => 72/2.2 oz
[bf] => 72
[brk] => 0.0000
[cw] => N
[page] => products?group=0055&cat=BEE
[cat] => BEE
)
[1] => Array
(
[name] => 22365 - BURGERS 4OZ FULLY COOKED
[price] => 54.00
[qty] => 1
[split_qty] => 0
[split_price] => 0
[pack] => 1/10 lb
[bf] => 1
[brk] => 0.0000
[cw] => N
[page] => products?group=0055&cat=BEE
[cat] => BEE
)
)
我更新了购物车中的数量。
当我查看$ _POST ['items_qty']数据时:
键:0 - 值:2 关键:1 - 价值:2
所以['qty']数据看起来还不错,但是当我在更新Qty之后查看SHOPPING_CART数组时,qty是可以的,但是数组的所有其他元素都已被删除。
Array
(
[0] => Array
(
[qty] => 2
)
[1] => Array
(
[qty] => 2
)
)
我不明白为什么更新数组会删除所有未更新的元素。
提前致谢。