• 16-01-2021, 19:54:36
    #1
    print_r($_COOKIE);
    if(isset($_POST["addcart"])){    if(isset($_COOKIE["shopping_cart"])){        $cookie_data = stripslashes($_COOKIE['shopping_cart']);
            $cart_data = json_decode($cookie_data, true);
        }else{
            $cart_data = array();
        }
        $item_id_list = array_column($cart_data, 'item_id');
        if(in_array($_POST["id"], $item_id_list)){
            foreach($cart_data as $keys => $values){            if($cart_data[$keys]["item_id"] == $_POST["id"]){                $cart_data[$keys]["item_quantity"] = $cart_data[$keys]["item_quantity"] + $_POST["quantity"];            }        }
        }else{
            $item_array = array(            'item_id'            =>    $_POST["id"],            'item_name'            =>    $_POST["title"],            'item_image'        =>    $_POST["image"],            'item_price'        =>    $_POST["price"],            'item_quantity'        =>    $_POST["quantity"]        );                $cart_data[] = $item_array;
        }
            $item_data = json_encode($cart_data);    setcookie('shopping_cart', $item_data, time() + (86400 * 30), '/');    header("Location:?addcart=do");}
    cookie sepet işlemleri yapıyorum ancak şöylebir sorun var utf 8 sorunu var json encode ederken nasıl utf 8 ekleyebilirim?
  • 16-01-2021, 20:07:48
    #2
    Merhabalar, sepet verilerini cookie olarak tutmanızı önermem. Çünkü cookie 4KB ' a kadar veri depolayabilir. Yoğun bir sepeti desteklemeyecektir, eğer isimler vs. dahil olarak tutarsanız, tavsiyem illa cookie ile yapacağım diyorsanız sadece id leri tutup diğer verileri veritabanından id ye göre getirmeniz olacaktır
  • 16-01-2021, 20:08:57
    #3
    şunu sorayım ozaman cookie boyutlarına nereden bakabilirim? @alidincer;
  • 16-01-2021, 20:10:58
    #4
    @alidincer; birde şimdi baktımda 4mb deniyor boyut 4mb lık bir cookie sepet oluşması zor olmaz mı zaten önerin nedir?
  • 16-01-2021, 20:14:45
    #5
    Tarayıcınızın geliştirici seçenekleri kısmından bakabilirsiniz. Yani kısacası öğeyi denetle yapıp açabilirsiniz(Ctrl + Shift + C).


    Application sekmesinden cookieleri görebilirsiniz sol taraftan cookies i seçmeyi unutmayınız. Size sütunundan boyutlarını görebilirsiniz. (Byte) cinsinden.
  • 16-01-2021, 20:20:18
    #6
    emirkrgz adlı üyeden alıntı: mesajı görüntüle
    @alidincer; birde şimdi baktımda 4mb deniyor boyut 4mb lık bir cookie sepet oluşması zor olmaz mı zaten önerin nedir?
    Hayır cookie ile maximum 4KB a kadar veri depolanabilir.
    bkz. max cookie size

    Tavsiyem, dediğim gibi cookie ile yapacaksanız sadece ürün ID lerini tutup gelen ID lere göre veri çekebilirsiniz. Ürün başlığı, fiyatı vs.
  • 16-01-2021, 20:20:35
    #7
    @alidincer; bir cookienin max limiti mi 4 kb yoksa toplam mı
  • 16-01-2021, 20:26:27
    #8
    emirkrgz adlı üyeden alıntı: mesajı görüntüle
    @alidincer; bir cookienin max limiti mi 4 kb yoksa toplam mı
    Yanlış bilmiyorsam aynı domain altında tüm cookielerin toplamı 4KB 'ı geçemiyor.