很多人都有相同的问题,但是我使用MVC,我通过更多文件来使用它... 我想要的就是单击删除按钮时,连续的项目可能会消失。 顺便说一句,它来自网络课程的教程。
物品控制器
if(isset($_POST['add_to_cart'])){
if(isset($_SESSION['shopping_cart'])){
$item_array_id = array_column($_SESSION['shopping_cart'], 'item_id');
if(!in_array($_POST['hidden_id'], $item_array_id)){
$count = count($_SESSION['shopping_cart']);
$item_array = array(
'item_id' => $_POST['hidden_id'],
'item_name' => $_POST['hidden_name'],
'item_price' => $_POST['hidden_price'],
'item_quantity' => $_POST['quantity']
);
$_SESSION['shopping_cart'][$count] = $item_array;
$_SESSION['validatioon'] = $_POST['hidden_id'];
echo "<p class='alert alert-success'>Předmět byl přidán</p>";
}else{
echo "<p class='alert alert-danger'>Předmět již byl přidán!</p>";
}
}else{
echo "<p class='alert alert-success'>Předmět byl přidán</p>";
$item_array = array(
'item_id' => $_POST['hidden_id'],
'item_name' => $_POST['hidden_name'],
'item_price' => $_POST['hidden_price'],
'item_quantity' => $_POST['quantity']
);
$_SESSION['shopping_cart'][0] = $item_array;
$_SESSION['validatioon'] = $_POST['hidden_id'];
}}
CartKontroler
public function zpracuj($parametry){
$this->pohled = 'cart';
session_start();
if(isset($_POST['remove'])){
foreach ($_SESSION['shopping_cart'] as $keys => $values) {
if($values['item_id'] == $_SESSION['validatioon']){
unset($_SESSION["shopping_cart"][$keys]);
echo "<script>alert('předmět byl odstraněn')</script>";
}
}
}
}