• 25-02-2024, 16:01:56
    #1
    Arkadaşlar bir aydır sepetin içindeki 2 dizide toplama ve çıkarmayla cebelleşiyorum
    bir yardım edecek arkaddaş varsa ücretini veririm.
    KODLAR BUNLAR
    talep: urunler dizisinde toplam fiyat
    $summary["toplaadette "] hatası z toplanacak,, ürün adedi ile fiyat değeri çıkarıldığındaa toplam adet ve toplam fiyat hatasız düşecek


    [PHPR]
    function sepeteEkle($urun_item,$siparis_adet){
    $urun_id =$_POST["product_id"];

    // Ü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"];
    $urunler = $shoppingCart["urunler"];
    } else {
    $urunler = array();
    }

    // Ürün adedi kontrolü
    // Ürünün zaten eklenip eklenmediğini kontrol et
    // Burada ürünleri ürün ID'lerine göre saklamak daha mantıklı olur
    $urun_id_key = $urun_item['id']; // Ürün ID'sini anahtar olarak kullan
    if (array_key_exists($urun_id_key, $urunler)) {
    // Ürün zaten varsa, adedini artır
    $urunler[$urun_id_key]['siparis_adet'] += $siparis_adet; // echo '<strong style="color:red;">Ürün adedi artırıldı</strong>';
    } else {
    // Ürün yoksa, yeni olarak ekle
    $urunler[$urun_id_key ] = $urun_item;
    $urunler[$urun_id_key ]['siparis_adet'] = $siparis_adet;
    }

    //Sepetin Hesaplanması

    $toplamTutar =0.0;
    $toplamAdet=0;
    foreach($urunler as $key => $urun ){
    $urunler[$key ]['toplamTutar'] = $urun['siparis_adet'] * $urun["price"];
    $toplamTutar= $urunler[$key]['toplamTutar'] + $urunler[$key]['toplamTutar'];
    $toplamAdet += $urun['siparis_adet'];
    }

    $summary["toplamTutar"]=$toplamTutar;
    $summary["toplamAdet"]=$toplamAdet;

    // Güncellenmiş ürün listesini SESSION'a kaydet
    $_SESSION["shoppingCart"]["urunler"] = $urunler;
    $_SESSION["shoppingCart"]["summary"] = $summary;
    // Test amaçlı ürün bilgilerini yazdır
    print_r($_SESSION);

    }//sepeteEkle


    function urunArtir($urun_id){


    }


    function urunEksilt($urun_id){


    }



    ekrana bağlanmak isteyen olursa
    lütfen

  • 25-02-2024, 16:04:44
    #2
    temelde hata var, session icerisine her ürünü ayrıca array şeklinde ekle. array(ürünid, ürünfiyat, ürün vs.) toplam fiyatı en son ona göre hesapla işte
    • FarkindaBiz
    FarkindaBiz bunu beğendi.
    1 kişi bunu beğendi.
  • 25-02-2024, 16:05:57
    #3
    chatgpt ile yapıyorsanız sabırlar dilerim
    • FarkindaBiz
    FarkindaBiz bunu beğendi.
    1 kişi bunu beğendi.
  • 25-02-2024, 16:06:37
    #4
    Web Tasarım ve Yazılım
    ChatGBT cevabı

    Öncelikle, kodunuzda bazı hataları düzeltmeli ve toplama işlemindeki mantık hatasını gidermelisiniz. İşte düzenlenmiş kod:
    function sepeteEkle($urun_item, $siparis_adet) {
        // Ü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"];
            $urunler = $shoppingCart["urunler"];
        } else {
            $urunler = array();
        }
    
        // Ürün adedi kontrolü
        // Ürünün zaten eklenip eklenmediğini kontrol et
        // Burada ürünleri ürün ID'lerine göre saklamak daha mantıklı olur
        $urun_id_key = $urun_item['id']; // Ürün ID'sini anahtar olarak kullan
        if (array_key_exists($urun_id_key, $urunler)) {
            // Ürün zaten varsa, adedini artır
            $urunler[$urun_id_key]['siparis_adet'] += $siparis_adet;
        } else {
            // Ürün yoksa, yeni olarak ekle
            $urunler[$urun_id_key] = $urun_item;
            $urunler[$urun_id_key]['siparis_adet'] = $siparis_adet;
        }
    
        // Sepetin Hesaplanması
        $toplamTutar = 0.0;
        $toplamAdet = 0;
        foreach ($urunler as $key => $urun) {
            $urunler[$key]['toplamTutar'] = $urun['siparis_adet'] * $urun["price"];
            $toplamTutar += $urunler[$key]['toplamTutar'];
            $toplamAdet += $urun['siparis_adet'];
        }
    
        $summary["toplamTutar"] = $toplamTutar;
        $summary["toplamAdet"] = $toplamAdet;
    
        // Güncellenmiş ürün listesini SESSION'a kaydet
        $_SESSION["shoppingCart"]["urunler"] = $urunler;
        $_SESSION["shoppingCart"]["summary"] = $summary;
        // Test amaçlı ürün bilgilerini yazdır
        print_r($_SESSION);
    }

    Değişiklikler:
    1. $toplamTutar hesaplamasını düzelttim. Toplam tutarı toplamak yerine her ürün için ayrı ayrı hesapladım.
    2. $toplamTutar ve $toplamAdet hesaplamalarını düzelttim.
    3. print_r($_SESSION); satırını kodun sonunda bıraktım, ancak bu sadece test amaçlıdır ve prodüksiyona geçerken kaldırmanız önerilir.




      ChatGBT ye doğru prombtu girerseniz yardımcı olacaktır.
      Tavsiyem anydesk adresinizi kaldırmanız yönünde. Saldırı yiyebilirsiniz
  • 25-02-2024, 18:42:07
    #5
    bostanci96 adlı üyeden alıntı: mesajı görüntüle
    ChatGBT cevabı

    Öncelikle, kodunuzda bazı hataları düzeltmeli ve toplama işlemindeki mantık hatasını gidermelisiniz. İşte düzenlenmiş kod:
    function sepeteEkle($urun_item, $siparis_adet) {
        // Ü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"];
            $urunler = $shoppingCart["urunler"];
        } else {
            $urunler = array();
        }
    
        // Ürün adedi kontrolü
        // Ürünün zaten eklenip eklenmediğini kontrol et
        // Burada ürünleri ürün ID'lerine göre saklamak daha mantıklı olur
        $urun_id_key = $urun_item['id']; // Ürün ID'sini anahtar olarak kullan
        if (array_key_exists($urun_id_key, $urunler)) {
            // Ürün zaten varsa, adedini artır
            $urunler[$urun_id_key]['siparis_adet'] += $siparis_adet;
        } else {
            // Ürün yoksa, yeni olarak ekle
            $urunler[$urun_id_key] = $urun_item;
            $urunler[$urun_id_key]['siparis_adet'] = $siparis_adet;
        }
    
        // Sepetin Hesaplanması
        $toplamTutar = 0.0;
        $toplamAdet = 0;
        foreach ($urunler as $key => $urun) {
            $urunler[$key]['toplamTutar'] = $urun['siparis_adet'] * $urun["price"];
            $toplamTutar += $urunler[$key]['toplamTutar'];
            $toplamAdet += $urun['siparis_adet'];
        }
    
        $summary["toplamTutar"] = $toplamTutar;
        $summary["toplamAdet"] = $toplamAdet;
    
        // Güncellenmiş ürün listesini SESSION'a kaydet
        $_SESSION["shoppingCart"]["urunler"] = $urunler;
        $_SESSION["shoppingCart"]["summary"] = $summary;
        // Test amaçlı ürün bilgilerini yazdır
        print_r($_SESSION);
    }

    Değişiklikler:
    1. $toplamTutar hesaplamasını düzelttim. Toplam tutarı toplamak yerine her ürün için ayrı ayrı hesapladım.
    2. $toplamTutar ve $toplamAdet hesaplamalarını düzelttim.
    3. print_r($_SESSION); satırını kodun sonunda bıraktım, ancak bu sadece test amaçlıdır ve prodüksiyona geçerken kaldırmanız önerilir.




      ChatGBT ye doğru prombtu girerseniz yardımcı olacaktır.
      Tavsiyem anydesk adresinizi kaldırmanız yönünde. Saldırı yiyebilirsiniz
    hocam teşekkürler chatgbpt kısmını anlamadım. cahtgbpt robot olduğunu biliyorum. okadar.
    benim hatam
    $toplamTutar += $urunler[$key]['toplamTutar'];
    artı yazmadığımdan mı ?
  • 25-02-2024, 18:52:40
    #6
    Web Tasarım ve Yazılım
    FarkindaBiz adlı üyeden alıntı: mesajı görüntüle
    hocam teşekkürler chatgbpt kısmını anlamadım. cahtgbpt robot olduğunu biliyorum. okadar.
    benim hatam
    $toplamTutar += $urunler[$key]['toplamTutar'];
    artı yazmadığımdan mı ?
    Evet
  • 25-02-2024, 19:02:34
    #7
    hay allah hocam ben şu kısmı bitirene kadar bir destek olun. rica ediyorum.
    saplanıyor takılıyor kalıyorum.
  • 26-02-2024, 18:05:19
    #8
    hocam bir sorudaha çıktı
    Sepette çıkarmada hedar() çalışmama sayfa hoplama sorunua


    1- youtubede kablosuz kedi isimi kanaldan sepet mantığını öğrendim. uygulamasını birebir halini yaptım. sorun yok https://www.alokatalog.com/Sayfalar/...pping-cart.php
    soru ? burada sepetteki adedi artırma ve azaltmada header ile yeniliyor sayfadaa hoplama olmuyor HEADER çalışmıyor.
    if(isset($_GET["p"]) && !empty($_GET["Sayfa"]) ){
    $islem=$_GET["p"];
    $Sayfa =$_GET["Sayfa"];
    
    if($islem =="urunArtir" && $Sayfa =="urunArtir"){
    
    $id = $_GET["product_id"];
    
    if( urunArtir($id)) { header("Location:https://www.alomatba.com/Sayfa.php?Git=ShoppingCart&Sayfa=shoppingCart");exit;
    }//if
    
    }else if($islem=="urunAzalt"){
    
    $id = $_GET["product_id"];
    if(urunAzalt($id)) { header("Location:https://www.alomatba.com/Sayfa.php?Git=ShoppingCart&Sayfa=shoppingCart");exit;
    }//if
    
    
    }
    }//if
    2-
    benim sayfa aynı kodlar olmasına rağmen heeadar çalışımıyor
    bende header URUNARTIR ve URUNAZALT SAYFALARINIA KOYDUM
    sayfa hopluyor nasıl önelerim bu hoplama işini
     $urun_id = $_GET["product_id"];
    header("Location:https://www.alomatba.com/Sayfa.php?Git=ShoppingCart&Sayfa=shoppingCart");
    KODLARIN TAMAMI

    
    
    
    function urunArtir($urun_id){
    $urun_id = $_GET["product_id"];
    //echo $urun_id ."<br>df " ;
    header("Location:https://www.alomatba.com/Sayfa.php?Git=ShoppingCart&Sayfa=shoppingCart");
    if(isset($_SESSION["shoppingCart"])) {
    $shoppingCart = $_SESSION["shoppingCart"];
    $urunler = $shoppingCart["urunler"];
    $urun_id_key = $urun_item['id']; // Ürün ID'sini anahtar olarak kullan
    
    if (array_key_exists($urun_id, $urunler)) {
    // Ürün zaten varsa, adedini artır
    $urunler[$urun_id]['siparis_adet'] +=1;
    }
    
    // Sepetin Hesaplanması
    $toplamTutar = 0.0;
    $toplamAdet = 0;
    foreach ($urunler as $key => $urun) {
    $urunler[$key]['toplamTutar'] = $urun['siparis_adet'] * $urun["satis_fiyat"];
    $toplamTutar += $urunler[$key]['toplamTutar'];
    $toplamAdet += $urun['siparis_adet'];
    }
    
    $summary["toplamTutar"] = $toplamTutar;
    $summary["toplamAdet"] = $toplamAdet;
    
    // Güncellenmiş ürün listesini SESSION'a kaydet
    $_SESSION["shoppingCart"]["urunler"] = $urunler;
    $_SESSION["shoppingCart"]["summary"] = $summary;
    // Test amaçlı ürün bilgilerini yazdır
    //print_r($_SESSION);
    
    } //urun varsa böyle işlem gerçekleştir
    
    // Ürün adedi kontrolü
    // Ürünün zaten eklenip eklenmediğini kontrol et
    // Burada ürünleri ürün ID'lerine göre saklamak daha mantıklı olur
    
    
    return true;
    
    }//urunArtir
    
    
    
    
    
    function urunAzalt($urun_id){
    
    $urun_id = $_GET["product_id"];
    header("Location:https://www.alomatba.com/Sayfa.php?Git=ShoppingCart&Sayfa=shoppingCart");
    
    if(isset($_SESSION["shoppingCart"])) {
    $shoppingCart = $_SESSION["shoppingCart"];
    $urunler = $shoppingCart["urunler"];
    $urun_id_key = $urun_item['id']; // Ürün ID'sini anahtar olarak kullan
    
    if (array_key_exists($urun_id, $urunler)) {
    // Ürün zaten varsa, adedini artır
    $urunler[$urun_id]['siparis_adet'] -=1;
    
    if($urunler[$urun_id]["siparis_adet"] == 0){unset($urunler[$urun_id]);}
    
    }
    
    // Sepetin Hesaplanması
    $toplamTutar = 0.0;
    $toplamAdet = 0;
    foreach ($urunler as $key => $urun) {
    $urunler[$key]['toplamTutar'] = $urun['siparis_adet'] * $urun["satis_fiyat"];
    $toplamTutar += $urunler[$key]['toplamTutar'];
    $toplamAdet += $urun['siparis_adet'];
    }
    
    $summary["toplamTutar"] = $toplamTutar;
    $summary["toplamAdet"] = $toplamAdet;
    
    // Güncellenmiş ürün listesini SESSION'a kaydet
    $_SESSION["shoppingCart"]["urunler"] = $urunler;
    $_SESSION["shoppingCart"]["summary"] = $summary;
    
    
    } //urun varsa böyle işlem gerçekleştir
    
    return true;
    
    }
    
     
    
    
    
    
    
    function durum(){
    
    $islem = $_POST["p"];
    
    if(isset($_POST["p"])){
    
    if($islem =="addToCart"){
    $id = $_POST["product_id"];
    
    $product =mysql_fetch_array(mysql_query("select * from ORGANIZE where id =$id"));
    
    $siparis_adet= 1;
    echo addToCart($product, $siparis_adet);
    
    }else if($islem =="removeFromCart"){
    
    $id = $_POST["product_id"];
    echo removeFromCart($id);
    
    }
    
    }//addToCart
    
    if(isset($_GET["p"]) && !empty($_GET["Sayfa"]) ){
    $islem=$_GET["p"];
    $Sayfa =$_GET["Sayfa"];
    
    if($islem =="urunArtir" && $Sayfa =="urunArtir"){
    
    $id = $_GET["product_id"];
    
    if( urunArtir($id)) { header("Location:https://www.alomatba.com/Sayfa.php?Git=ShoppingCart&Sayfa=shoppingCart");exit;
    }//if
    
    }else if($islem=="urunAzalt"){
    
    $id = $_GET["product_id"];
    if(urunAzalt($id)) { header("Location:https://www.alomatba.com/Sayfa.php?Git=ShoppingCart&Sayfa=shoppingCart");exit;
    }//if
    
    
    }
    }//if