Php 如何将产品添加到购物车,包括大小和数量
我想添加一个产品到购物车与选择的大小和数量。我已经写了这些代码,但我的问题是: 首先,它是否安全正确地工作? 然后,如果用户在两个不同的请求中向cartin添加一个特定的productproduct\u id两次,我如何添加两个请求的数量? 最后,我应该如何处理一个产品id的不同尺寸Php 如何将产品添加到购物车,包括大小和数量,php,Php,我想添加一个产品到购物车与选择的大小和数量。我已经写了这些代码,但我的问题是: 首先,它是否安全正确地工作? 然后,如果用户在两个不同的请求中向cartin添加一个特定的productproduct\u id两次,我如何添加两个请求的数量? 最后,我应该如何处理一个产品id的不同尺寸 if (isset($_POST['add2cart'])){ if (is_numeric($_POST['proId']) and is_numeric($_POST['count']) and ($_
if (isset($_POST['add2cart'])){
if (is_numeric($_POST['proId']) and is_numeric($_POST['count']) and ($_POST['count'])>0 and strlen($_POST['size'])<5) {
$proId= $_POST['proId'];
$proCount = $_POST['count'];
$proSize = $_POST['size'];
if (!isset($_SESSION['cart'])) {
$_SESSION['cart'] = array('id'=>$proId, 'count'=>$proCount, 'size'=>$proSize);
$_SESSION['cartStatus'] = 'open';
$successMsg = 'با موفقیت به کارت اضافه شد .';
} else {
if (isset($_SESSION['cartStatus']) and $_SESSION['cartStatus'] == 'open') {
$_SESSION['cart'][] = ['id'=>$proId, 'count'=>$proCount, 'size'=>$proSize];
$successMsg = 'با موفقیت به کارت اضافه شد .';
} else {
$errorMsg = 'یک عملیات خرید در جریان است . تا پایان این خرید ،سبد قفل است.';
}
}
}else{
$errorMsg = 'خطایی در اطلاعات ورودی رخ داده است.';
}
}
我相信您的问题是您在$\u会话['cart']数组中错过了一个数组级别。试试这个:
$_SESSION['cart'] = array(array('id'=>$proId, 'count'=>$proCount, 'size'=>$proSize));
但是,如果您的if声明是这样的,而没有其他部分,那么在我看来更有意义:
if (!isset($_SESSION['cart'])) {
$_SESSION['cart'] = []; //declare an empty array
$_SESSION['cartStatus'] = 'open';
$successMsg = 'با موفقیت به کارت اضافه شد .';
}
// Check for both $_SESSION['cart'] and $_SESSION['cartStatus']. Use && instead of "and"
if (isset($_SESSION['cartStatus'], $_SESSION['cart']) && $_SESSION['cartStatus'] == 'open') {
$_SESSION['cart'][] = ['id' => $proId, 'count' => $proCount, 'size' => $proSize];
$successMsg = 'با موفقیت به کارت اضافه شد .';
} else {
$errorMsg = 'یک عملیات خرید در جریان است . تا پایان این خرید ،سبد قفل است.';
}
请重新措辞你的问题。我不确定这不是个问题。这段代码是什么,它应该做什么,它是否会抛出任何错误?关于上面的评论,请查看有关如何使您的问题清晰易懂并便于他人回答的提示。尝试以下操作:$\u SESSION['cart']=arrayarray'id'=>proId,'count'=>proCount,'size'=>proSize;