• 04-02-2024, 04:58:22
    #1
    arkadaşlar iy geceler
    SEPETE EKLENEN yi bir artırmada başarıszlık
    nerde hata yapıyrum.
    products[id] pro_item[] içinde mevcut ise siparisadedi 1 artır.

    eklenen a-siparis => 1 bu kısmı artıramadım nerde hata yapıyorum
    yardımcı olursanız sevinirim

    PHP KODLAR
    function addToCart($product_item){
    
    // $islem = $_POST["p"];
    //$siparis_adet =0;
    $product_id = $_POST["product_id"];
    //if(empty($product_id)){siparis_adet =0;}
    
    if(isset($_SESSION["shoppingCart"])){
    $shoppingCart = $_SESSION["shoppingCart"];
    $products = $shoppingCart["products"] ;
    } else {
    $products = array();
    }
    
    //ADET KONTROLÜ
    $siparis_adet= 1;
    if(in_array($product_item[id],$products[id])){
    //$products[$product_item][id]count++;
    // echo $product_item[id]."products dizinsinde";
    $siparis_adet =$siparis_adet ++;
    $products[id]["a-siparis"]= $siparis_adet ;
    echo '<strong style="color:red;">item producte</strong>';
    }else {
    
    /*$products[]= $shoppingCart["products"];
    $products[id] = $product_item; */ //çalışıyor
    $products[$product_item]= $product_item;
    $products[id] = $product_item;
    $products[id]["a-siparis"]=$siparis_adet;
    }
    
    $_SESSION["shoppingCart"]["products"] = $products;
    
    /*
    print_r($products[id]);
    print_r($product_item[id]);*/
    
    // echo $product_item[id]."<br>";
    //echo $products[id][0];
    
    print_r($products[id]);
    // print_r($_SESSION);
    DİZİDEde eklenen a-siparis => 1 bu kısmı artıramadım nerde hata yapıyorum

    CONSOL ÇIKTI
    du] => TA4
    [2] => Tepsi Altı Fiyatları
    [Kategori] => Tepsi Altı Fiyatları
    [3] => 4400
    [uretim_fiyat] => 4400
    [4] => 8500
    [satis_fiyat] => 8500
    [5] => 283
    [dolarFiyat] => 283
    [6] => 70 gr. Birinci Hamur - Ön 4 Renk Arka Yok -Selefon Yok
    
    [aciklama] => 70 gr. Birinci Hamur - Ön 4 Renk Arka Yok -Selefon Yok
    
    [7] => 5000
    [adet] => 5000
    [8] => -
    [selefon] => -
    [9] => 30x42
    [ebat] => 30x42
    [10] => 128
    [kat_id] => 128
    [11] =>
    [resim] =>
    
    [13] => 0
    [uretimDurum] => 0
    [a-siparis] => 1
    )
    
    Temalar/bootstraps44/cart_db.php:1
    
    
    Failed to load resource: the server responded with a status of 404 ()
    custom.js:14 <strong style="color:red;">item producte</strong>Array
    (
    [0] => 92
    [id] => 92
    [1] => TA4
    [urunKodu] => TA4
    [2] => Tepsi Altı Fiyatları
    [Kategori] => Tepsi Altı Fiyatları
    [3] => 4400
    [uretim_fiyat] => 4400
    [4] => 8500
    [satis_fiyat] => 8500
    [5] => 283
    [dolarFiyat] => 283
    [6] => 70 gr. Birinci Hamur - Ön 4 Renk Arka Yok -Selefon Yok
    
    [aciklama] => 70 gr. Birinci Hamur - Ön 4 Renk Arka Yok -Selefon Yok
    
    [7] => 5000
    [adet] => 5000
    [8] => -
    [selefon] => -
    [9] => 30x42
    [ebat] => 30x42
    [10] => 128
    [kat_id] => 128
    [11] =>
    
    [13] => 0
    [uretimDurum] => 0
    [a-siparis] => 1
    )
    
    Temalar/bootstraps44/cart_db.php:1
    
    
    Failed to load resource: the server responded with a status of 404 ()
    custom.js:14 <strong style="color:red;">item producte</strong>Array
    (
    [0] => 92
    [id] => 92
    [1] => TA4
    [urunKodu] => TA4
    [2] => Tepsi Altı Fiyatları
    [Kategori] => Tepsi Altı Fiyatları
    [3] => 4400
    [uretim_fiyat] => 4400
    [4] => 8500
    [satis_fiyat] => 8500
    [5] => 283
    [dolarFiyat] => 283
    [6] => 70 gr. Birinci Hamur - Ön 4 Renk Arka Yok -Selefon Yok
    
    [aciklama] => 70 gr. Birinci Hamur - Ön 4 Renk Arka Yok -Selefon Yok
    
    [7] => 5000
    [adet] => 5000
    [8] => -
    [selefon] => -
    [9] => 30x42
    [ebat] => 30x42
    [10] => 128
    [kat_id] => 128
    [11] =>
    [resim] =>
    [13] => 0
    [uretimDurum] => 0
    [a-siparis] => 1
    )
    
    Temalar/bootstraps44/cart_db.php:1
    
    
    Failed to load resource: the server responded with a status of 404 ()
    custom.js:14 <strong style="color:red;">item producte</strong>Array
    (
    [0] => 92
    [id] => 92
    [1] => TA4
    [urunKodu] => TA4
    [2] => Tepsi Altı Fiyatları
    [Kategori] => Tepsi Altı Fiyatları
    [3] => 4400
    [uretim_fiyat] => 4400
    [4] => 8500
    [satis_fiyat] => 8500
    [5] => 283
    [dolarFiyat] => 283
    [6] => 70 gr. Birinci Hamur - Ön 4 Renk Arka Yok -Selefon Yok
    
    [aciklama] => 70 gr. Birinci Hamur - Ön 4 Renk Arka Yok -Selefon Yok
    
    [7] => 5000
    [adet] => 5000
    [8] => -
    [selefon] => -
    [9] => 30x42
    [ebat] => 30x42
    [10] => 128
    [kat_id] => 128
    [11] =>
    [13] => 0
    [uretimDurum] => 0
    [a-siparis] => 1
    )
  • 04-02-2024, 05:36:31
    #2
    $siparis_adet =$siparis_adet ++;

    burası
    $siparis_adet ++;
    olacak

    ++ post increment yani $siparis_adet şuan 1 ise, önce 1 döndürüyor, sonra o değişkene 1 ekliyor yani 2 oluyor, ama siz daha sonrasında $siparis_adet'i geri dönen 1 değerine ayarlamış oluyorsunuz
  • 04-02-2024, 05:38:24
    #3
    bide [id] ve/veya if in_array.. kısmında hata olabilir
  • 04-02-2024, 05:46:43
    #4
    function addToCart($product_item) {
        // Ürün ID'sini POST verisinden al
        $product_id = $_POST["product_id"];
    
        // Alışveriş sepeti SESSION içinde var mı kontrol et
        if (isset($_SESSION["shoppingCart"])) {
            $shoppingCart = $_SESSION["shoppingCart"];
            $products = $shoppingCart["products"];
        } else {
            $products = array();
        }
    
        // Ürün adedi kontrolü
        $siparis_adet = 1;
        // Ürünün zaten eklenip eklenmediğini kontrol et
        // Burada ürünleri ürün ID'lerine göre saklamak daha mantıklı olur
        $product_id_key = $product_item['id']; // Ürün ID'sini anahtar olarak kullan
        if (array_key_exists($product_id_key, $products)) {
            // Ürün zaten varsa, adedini artır
            $products[$product_id_key]['a-siparis'] += $siparis_adet;
            echo '<strong style="color:red;">Ürün adedi artırıldı</strong>';
        } else {
            // Ürün yoksa, yeni olarak ekle
            $products[$product_id_key] = $product_item;
            $products[$product_id_key]['a-siparis'] = $siparis_adet;
        }
    
        // Güncellenmiş ürün listesini SESSION'a kaydet
        $_SESSION["shoppingCart"]["products"] = $products;
    
        // Test amaçlı ürün bilgilerini yazdır
        echo '<pre>';
        print_r($products[$product_id_key]);
        echo '</pre>';
    }
  • 04-02-2024, 06:56:23
    #5
    Hocalarım ikinizde çok kıymetlisiniz gece gece mutlu ettiniz beni. size nekadar teşekkür etsem az. tebrik ederim kalbi gönlü zengin güzel arkadaşlarıma
  • 05-02-2024, 03:03:27
    #6
    hocam son bir istek:
    her butona 1 tane tıkladığımda totalprice çalışıyor
    2 şer tane basınca total price abartıyor.
    hata nerde acaba

    $total_price =0.0;
    $total_count=0;
    $toplam =[];
    
    foreach($products as $key => $product ){
    
    $urun_takim_fiyat = $products[$product_id_key]['a-siparis'] * $products[$product_id_key]["satis_fiyat"];
    $products[$product_id_key]['total_price'] = $urun_takim_fiyat; //products diziye ekle
    
    $total_count =$products[$product_id_key]['a-siparis'] ;
    $total_price = $urun_takim_fiyat;
    $toplam[] =$urun_takim_fiyat;
    //$product["total_price"];
    
    }
    
    $sontoplam = array_sum($toplam);
    echo "sepete topolam ".$sontoplam ;
    
    $summary["total_price"]=$sontoplam;
    $summary["total_count"]=$total_count;
    $_SESSION["shoppingCart"]["products"] = $products;
    $_SESSION["shoppingCart"]["summary"]= $summary;
    
    //print_r($_SESSION);
    
    return $total_count;