• 18-05-2020, 13:03:14
    #1
    Üyeliği durduruldu



    arkadaşlar üstte ürün ekliyorum altta ise sepete eklenen ürünü silmek istiyorum ancak silemiyorum çözemediğim bir hata var yardımcı olabilir misiniz?


    https://fullinndir.com/urunler.php
    https://fullinndir.com/sepet.php


    ÇÖZÜM: https://www.r10.net/1077109009-post4.html
  • 18-05-2020, 13:06:53
    #2
    Üyeliği durduruldu
    Nokta koyduğum alanda yani ikisinin ortasına virgül koyar mısınız bi düzelir belki
  • 18-05-2020, 13:10:10
    #3
    BUYRAK adlı üyeden alıntı: mesajı görüntüle



    arkadaşlar üstte ürün ekliyorum altta ise sepete eklenen ürünü silmek istiyorum ancak silemiyorum çözemediğim bir hata var yardımcı olabilir misiniz?


    https://fullinndir.com/urunler.php
    https://fullinndir.com/sepet.php
    İlk görselde bir array tanımlamışsınız fakat silme işlemi yaparken alakasız bir index deniyorsunuz silmek için.

    İlk görselde şöyle değişiklik yapın;
    <?php
    if ($_GET) {
      session_start();
    
      $urun = array( bla bla bla );
    
      $_SESSION['productList'][$_GET['urun']] = $urun;
    }
  • 18-05-2020, 13:12:22
    #4
    Mantık hatası var. Session'da array saklıyorsunuz ama unset işlemini doğrudan value değeri olarak yapmaya çalışıyorsunuz.
    Kolay yolu şu olabilir.

    Sepet.php dosyasında foreah döngüsünü bu şekilde yapın

    foreach($_SESSION['productList'] as $key => $urun)
    daha sonra silme butonuna verdiğiniz linki şu şekilde değiştirin.
    sepet.php?delete=<?php echo $key?>
  • 18-05-2020, 13:14:08
    #5
    Üyeliği durduruldu
    jetbayim adlı üyeden alıntı: mesajı görüntüle
    Nokta koyduğum alanda yani ikisinin ortasına virgül koyar mısınız bi düzelir belki
    malesef çözüm olmadı yazım hatası olarak kabul ediyor hocam



    Misafir adlı üyeden alıntı: mesajı görüntüle
    İlk görselde bir array tanımlamışsınız fakat silme işlemi yaparken alakasız bir index deniyorsunuz silmek için.

    İlk görselde şöyle değişiklik yapın;
    <?php
    if ($_GET) {
      session_start();
    
      $urun = array( bla bla bla );
    
      $_SESSION['productList'][$_GET['urun']] = $urun;
    }
    farklı bir index yolluyorum derken? olmadı hocam denedim ancak benim kodlarımla bir farkı yok yazdığınız kodun



    tematem adlı üyeden alıntı: mesajı görüntüle
    Mantık hatası var. Session'da array saklıyorsunuz ama unset işlemini doğrudan value değeri olarak yapmaya çalışıyorsunuz.
    Kolay yolu şu olabilir.

    Sepet.php dosyasında foreah döngüsünü bu şekilde yapın

    foreach($_SESSION['productList'] as $key => $urun)
    daha sonra silme butonuna verdiğiniz linki şu şekilde değiştirin.
    sepet.php?delete=<?php echo $key?>
    hocam teşekkürler dediğiniz şekilde oldu bende array i o şekilde alamadığımı farkettim ancak php videosunda öyle yapıyordu hoca bundan dolayı ikilemde kalmıştım.
  • 18-05-2020, 13:18:32
    #6
    BUYRAK adlı üyeden alıntı: mesajı görüntüle
    malesef çözüm olmadı yazım hatası olarak kabul ediyor hocam





    farklı bir index yolluyorum derken? olmadı hocam denedim ancak benim kodlarımla bir farkı yok yazdığınız kodun
    Hocam dikkatli bakarsanız;
    $_SESSION['productList'][$_GET['urun']] = $urun;
    Bu kısımı değiştirmelisin. Sende şu şekilde normalde:
    $_SESSION['productList'][] = $urun;
  • 18-05-2020, 13:20:15
    #7
    Üyeliği durduruldu
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Hocam dikkatli bakarsanız;
    $_SESSION['productList'][$_GET['urun']] = $urun;
    Bu kısımı değiştirmelisin. Sende şu şekilde normalde:
    $_SESSION['productList'][] = $urun;
    hocam benim yazdığım şekilde de ürünü alabiliyorum yani burada ürünü session a almakta problem yok aslında burada alınan array dizisini delete yapmakta problem var burada da üstteki hocamızın dediği gibi array değerini silmemiz gerekiyor array değerinin bir elemanını değil.
  • 18-05-2020, 13:27:47
    #8
    BUYRAK adlı üyeden alıntı: mesajı görüntüle
    hocam benim yazdığım şekilde de ürünü alabiliyorum yani burada ürünü session a almakta problem yok aslında burada alınan array dizisini delete yapmakta problem var burada da üstteki hocamızın dediği gibi array değerini silmemiz gerekiyor array değerinin bir elemanını değil.
    Evet arkadaşın yaptığı da çözüm. Ben farklı bi açıdan yaklaştım.

    [Sepet] => [
       [
           'product_name' => 'bilgisayar',
           'product_quantity' => 1,
           'product_price' => 1590
       ]
    ]
    sende bu şekildeydi
    [Sepet] => [
        ['bilgisayar'] => [
           'product_name' => 'bilgisayar',
           'product_quantity' => 1,
           'product_price' => 1590
       ]
    ]
    Ben bunu yaptırmaya çalıştım. Böylece unset($_SESSION['Sepet']['bilgisayar]); yaptığında bilgisayar silinir...
    • BUYRAK
    BUYRAK bunu beğendi.
    1 kişi bunu beğendi.
  • 18-05-2020, 13:33:11
    #9
    Üyeliği durduruldu
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Evet arkadaşın yaptığı da çözüm. Ben farklı bi açıdan yaklaştım.

    [Sepet] => [
       [
           'product_name' => 'bilgisayar',
           'product_quantity' => 1,
           'product_price' => 1590
       ]
    ]
    sende bu şekildeydi
    [Sepet] => [
        ['bilgisayar'] => [
           'product_name' => 'bilgisayar',
           'product_quantity' => 1,
           'product_price' => 1590
       ]
    ]
    Ben bunu yaptırmaya çalıştım. Böylece unset($_SESSION['Sepet']['bilgisayar]); yaptığında bilgisayar silinir...
    anladım çözümünüzü evet oda mantıklı aslında siz ekleme kısmında düzenleme yaparak silme işlemindeki sorunu gideriyorsunuz arkadaşın çözümü ise eklemeye ayak uydurmak 2 side mantıklı açıkçası teşekkürler.