我希望显示与购物车类似的数字。我得到了PHP代码,它当前显示一个cookie值,如果你点击添加到购物车,它有点工作接受你输入的内容有错误它将添加1到cookie,但不会添加任何东西到车。
我尝试使用AngularJS来显示会话变量的长度,该变量的效果稍好一些,但在刷新页面之前它不会更新。
任何人都可以指出我正确的方向,所以我可以试着为自己解决这个问题。
这是我原封不动的代码:
if (!isset($_COOKIE['count']))
{
$cookie = 0;
setcookie("count", $cookie);
}
else
{
if (isset($_GET["add"]))
{
$cookie = ++$_COOKIE['count'];
setcookie("count",$cookie);
}
else if (isset($_GET["remove"]))
{
$cookie = --$_COOKIE['count'];
setcookie("count", $cookie);
}
else {
$cookie = $_COOKIE['count'];
setcookie("count", $cookie);
}
$cookie = $_COOKIE['count'];
if ($cookie <= 0)
{
$cookie = 0;
setcookie("count", $cookie);
}
}
然后像这样打印
<li><a><div ng-app="" class="circle"> <?php echo $cookie ?></div></a></li>
我尝试使用echo $ cookie来回显会话数组长度,并尝试使用
<li><a><div ng-app="" class="circle">{{ <?php echo count($_SESSION['certificates']) ?>}}</div></a></li>
我也试过这个链接:https://codepen.io/anon/pen/mMwVPb
但并不是完全理解这一切,也无法在我的网页上运行。
它几乎按我想要的方式工作,但我只需要刷新页面以显示会话数组长度。如果有一种方法可以显示会话的价值而无需刷新页面,我认为这样可以解决问题。
答案 0 :(得分:0)
我不会弄乱cookie,除非您可能想要在用户离开您的网站时保留购物车,然后将商品留在购物车中然后返回商店。此时,您可以将购物车项目存储在数据库或具有cookie的引用ID的内容中。人们可以关闭cookie,因此如果您的购物车依赖于cookie并且用户将其关闭,那么您就是SOL。
我会将您的购物车存储在会话中,因为您可以在会话中轻松存储数组:
# Simple example of add to cart function
addToCart($sku,$qty=1)
{
# Make sure the quantity is a number
if(!is_numeric($qty))
$qty = 1;
# If the cart is not yet set, create it
if(!isset($_SESSION['cart']))
$_SESSION['cart'] = array();
# If the item is already in the cart, increment the quantity
if(isset($_SESSION['cart'][$sku]))
$_SESSION['cart'][$sku] += $qty;
# If not in the cart already, create it
else
$_SESSION['cart'][$sku] = $qty;
}
# Remember to start session on every page
session_start();
# To add to cart
if(isset($_REQUEST['add'])) {
# Insert the sku in param 1, quantity into param 2
addToCart($_REQUEST['ITEMCODE'],$_REQUEST['QTY']);
}
# Set some storage variables
$totalQty =
$itemsQty = 0;
# To get qty in cart
if(!empty($_SESSION['cart'])) {
# Loop through items in cart
foreach($_SESSION['cart'] as $sku => $qty) {
$totalQty += $qty;
$itemsQty += 1;
}
}
?>
<!-- If you have 5 products in the cart, this will say 5 -->
<h2>Total products in cart: <?php echo $itemsQty ?></h2>
<!-- If you have 5 products with quantity of 2 per product, this will write 10 -->
<h2>Total items in cart: <?php echo $totalQty ?></h2>