我在删除/取消会话变量时遇到了问题。
例如,如果购物车中有3项1,2,3,而我删除了所有这些项目。它们应该从会话中删除,但是它们是隐藏的。
取消了两个变量--这是我取消设置2个会话变量cart_array和minicart的地方
<?php
if (isset($_POST['index_to_remove']) && (!empty($_SESSION["cart_array"]["minicart"]))) {
// Access the array and run code to remove that array index
$key_to_remove = $_POST['index_to_remove'];
if (count($_SESSION["cart_array"]["minicart"]) <= 1) {
unset($_SESSION["cart_array"]["minicart"]);
} else {
unset($_SESSION["cart_array"]["minicart"]["$key_to_remove"]);
sort($_SESSION["cart_array"]["minicart"]);
}
}
?> echo '<form action="cart.php" method="post">
<input name="deleteBtn' . $item_id . '"
type="submit" value="Delete" />
<input name="index_to_remove"
type="hidden" value="' . $i . '" />
</form>';同样在这个header.php页面中,我回显了两个会话变量cart_array和minicart
我的问题是/问题是
如果您查看未设置变量,则意味着根据分配给这些会话的itemid取消对会话变量cary_array和minicart的设置。现在,如果我单击delete按钮,这将从cart中删除项目,但是*为什么IT不从会话中删除会话变量cary_array和minicart?
我知道它已经被删除了,因为下面的代码显示没有删除会话变量(Unset)。
if(isset($_SESSION ['cart_array']) && !empty($_SESSION['cart_array'])) {
echo ("I am still here");
}发布于 2013-07-16 00:23:25
当你这样做时:
unset($_SESSION['cart_array']['minicart']);你只是取消了“小艺术”,而不是"cart_array“。
如果您想同时取消"cart_array“和”微型艺术“,只需做以下操作:
unset($_SESSION['cart_array']);或
$_SESSION['cart_array'] = array();要测试数组是否为空,只需:
if ($_SESSION['cart_array']):
else:
endif;https://stackoverflow.com/questions/17665884
复制相似问题