PHP网上商店cookie不会被保存

6yoyoihd  于 2022-11-10  发布在  PHP
关注(0)|答案(1)|浏览(103)
if(isset($_POST["cartDelete"])){
                    $item_ID = $_POST["hidden_id"];

                    $cookie_data = stripslashes($_COOKIE['shopping_cart']);
                    $cart_data = json_decode($cookie_data, true);

                    unset($cart_data[$item_ID]);

                    $item_data = json_encode($cart_data);
                    setcookie('shopping_cart', $item_data, time() + (86400 * 30));

                    header("Location: cart");

                    print_r($cart_data);
                }
                if(isset($_POST["QTYedited"])){
                    $item_ID = $_POST["hidden_id"];
                    $item_QTY = $_POST["QTYedited"];

                    $cookie_data = stripslashes($_COOKIE['shopping_cart']);
                    $cart_data = json_decode($cookie_data, true);

                    $cart_data[$item_ID]["item_QTY"] = $item_QTY;

                    $item_data = json_encode($cart_data);
                    setcookie('shopping_cart', $item_data, time() + (86400 * 30));

                    header("Location: cart");
                }

我正在用php写一个网上商店,但是这部分的cookie不知怎么的就不会被保存了,有趣的是,购物车里只有一件商品,一切都正常,问题至少从两件商品开始。
我已经尝试了所有方法。您可以使用webshop.abrisx.nhely.hu测试该页面

vngu2lb8

vngu2lb81#

首先,确保cookie在您的浏览器中为enabled,并注意某些illegal characters会导致cookie不被存储,在将其发送到cookie之前,尝试在字符串上调用urlencode()
例如:

setcookie('shopping_cart', urlencode($item_data), time() + (86400 * 30), '/');

我想这会解决你的问题。

相关问题