v2.5.2
Giriş yap

f5 atınca veri gitmesi

emmir2
348 defa görüntülendi ve 2 kişi tarafından değerlendirildi

Sepet sistemim var veri ekliyor lakin f5 atınca veri gidiyor tekrar bir ürün sepete eklersem ancak veri geliyor çözemedim yardımlarınızı bekliyorum

$(function(){

    $(document).on('click','#saydam_bg, [data-sepet-kapat=""]',function(){
        $('#saydam_bg').fadeOut(500);
        $('#sepet').fadeOut(500);
    });

    $('[data-sepete-ekle]').click(function(){

        $('#sepete_ekle_durum').removeClass().html('');
        var devam = 0;
        var secenek_id = 0;

        if(parseInt($('[name="adet"]').val()) < 1){
          $('#sepete_ekle_durum').addClass('hata').html('Lütfen geçerli bir adet giriniz.');
        }else{
            if($('.varyant li').length){
              if($('.varyant li').hasClass('aktif')){
                if(parseInt($('[name="adet"]').val()) <= parseInt($('[data-stok].aktif').attr('data-stok'))){
                  secenek_id =  $('[data-stok].aktif').attr('data-secenek-id');
                  devam = 1;
                }else{
                  $('#sepete_ekle_durum').addClass('hata').html('Bu Seçenekten En Fazla '+ $('[data-stok].aktif').attr('data-stok') +' Adet Alabilirsiniz.');
                }
              }else{
                $('#sepete_ekle_durum').addClass('hata').html('Lütfen bir seçenek seçiniz.');
              }
            }else{
              devam = 1;
            }
        }

      if(devam == 1){
          $.ajax({
              url: "post.php",
              type: "post",
              data: 'islem=urun-ekle&urun_id='+parseInt($(this).attr('data-sepete-ekle'))+'&adet='+parseInt($('[name="adet"]').val())+'&secenek_id='+secenek_id,
              success: function (x) {
                  if(x == 0){
                    $('#sepete_ekle_durum').addClass('hata').html('Yeterli stok bulunamadı.');
                  }else if(x == 1){
                    $('#sepete_ekle_durum').addClass('hata').html('Geçersiz istek.');
                  }else{
                    $('#sepete_ekle_durum').addClass('basari').html('Ürün başarı ile sepete eklendi.');
                    sepet();
                    $('#saydam_bg').fadeIn(500);
                    $('#sepet').fadeIn(500);
                    sepet_sayisi();
                  }
              }
          });
      }

      $('#sepete_ekle_durum').fadeIn(500);

    });

    $(document).on('click','[data-sepet-sil]',function(){
        $.ajax({
              url: "post.php",
              type: "post",
              data: 'islem=sepet_sil&id='+$(this).attr('data-sepet-sil'),
              success: function (x) {
                sepet();
                sepet_sayisi();
              }
        });
    });

    $(document).on('click','[data-sepet-sayfa-sil]',function(){
        $.ajax({
              url: "post.php",
              type: "post",
              data: 'islem=sepet_sil&id='+$(this).attr('data-sepet-sayfa-sil'),
              success: function (x) {
               location.reload();
              }
        });
    });

    

    $('[data-favori-ekle]').click(function(){
        $.ajax({
          url: "post.php",
          type: "post",
          data: 'islem=favori-ekle&urun_id='+$(this).attr('data-favori-ekle'),
          success: function (x) {
            $('#modal_dis .modal-body').html('<center><img src="assets/images/basari.png" style="width: 150px" class="img-responsive"><br><h3>Ürün Başarı ile Favorilere Eklendi</h3></center>');
            $('#modal_dis .modal-footer a').html('Favorileri Ürünlerimi Göster');
            $('#modal_dis .modal-footer a').attr('href','favorilerim');
            $('#modal_dis').modal('show');
          }
        });
    });

    $('[data-favori-sil]').click(function(){
        $.ajax({
          url: "post.php",
          type: "post",
          data: 'islem=favori-sil&urun_id='+$(this).attr('data-favori-sil'),
          success: function (x) {
            location.reload();
          }
        });
    });

    

});
<?php
  foreach($_GET    as $k => $v) $_GET[$k]    = strip_tags($v);
  foreach($_POST   as $k => $v) $_POST[$k]   = strip_tags($v);


  if($_POST){
    include 'panel/fonksiyon.php';

    if($_POST['islem'] == 'urun-ekle'){
        if(is_numeric($_POST['urun_id']) AND is_numeric($_POST['adet']) AND is_numeric($_POST['secenek_id'])){
            if($_POST['adet'] < 1){
              $_POST['adet'] = 1;
            }
            $urunquery = $db->prepare("SELECT * FROM urun where id=:id LIMIT 1");
            $urun = $urunquery->execute(array(":id"=>$_POST['urun_id']));
            $urun = $urunquery->fetch(PDO::FETCH_ASSOC);
            if($urun){
              if($_POST['secenek_id'] > 0){
                $query = $db->prepare("SELECT * FROM urun_secenek_alt where id=:id LIMIT 1");
                $alt_secenek = $query->execute(array(":id"=>$_POST['secenek_id']));
                $alt_secenek = $query->fetch(PDO::FETCH_ASSOC);
                if($alt_secenek){
                  if($_POST['adet'] > $alt_secenek['stok']){
                    echo 0;
                  }else{
                    $uniqid = $_POST['urun_id'].'-'.$_POST['secenek_id'];
                    $_SESSION['sepet']['urun_id'][$uniqid]      = $_POST['urun_id'];
                    $_SESSION['sepet']['adet'][$uniqid]         = $_POST['adet'];
                    $_SESSION['sepet']['secenek_id'][$uniqid]   = $_POST['secenek_id'];
                    $_SESSION['sepet']['key'][$uniqid]          = $uniqid;
                    echo 2;
                  }
                }else{
                  echo 1;
                }
              }else{
                  if($_POST['adet'] > $urun['stok']){
                    echo 0;
                  }else{
                    $uniqid = $_POST['urun_id'];
                    $_SESSION['sepet']['urun_id'][$uniqid]      = $_POST['urun_id'];
                    $_SESSION['sepet']['adet'][$uniqid]         = $_SESSION['sepet']['adet'][$uniqid]+$_POST['adet'];
                    $_SESSION['sepet']['secenek_id'][$uniqid]   = 0;
                    $_SESSION['sepet']['key'][$uniqid]          = $uniqid;
                    echo 2;
                  }
              }
            }else{
              echo 1;
            }
        }else{
          echo 1;
        }
    }else if($_POST['islem'] == 'listele'){
      if(count($_SESSION['sepet']['key']) > 0){
        $toplam = 0;
        foreach ($_SESSION['sepet']['key'] as $key) {

          $urunquery = $db->prepare("SELECT * FROM urun where id=:id LIMIT 1");
          $urun = $urunquery->execute(array(":id"=>$_SESSION['sepet']['urun_id'][$key]));
          $urun = $urunquery->fetch(PDO::FETCH_ASSOC);

          $urunimg = $db->prepare("SELECT * FROM urun_img where urun_id=:urun_id LIMIT 1");
          $uimg = $urunimg->execute(array(":urun_id"=>$_SESSION['sepet']['urun_id'][$key]));
          $uimg = $urunimg->fetch(PDO::FETCH_ASSOC);

          $secenek = '';

          $alt_secenek_fiyat = 0;
          if($_SESSION['sepet']['secenek_id'][$key] !=0){
            $alt_secenek = $db->prepare("SELECT * FROM urun_secenek_alt where id=:id LIMIT 1");
                    $as = $alt_secenek->execute(array(":id"=>$_SESSION['sepet']['secenek_id'][$key]));
                    $as = $alt_secenek->fetch(PDO::FETCH_ASSOC);

                    $ust_secenek = $db->prepare("SELECT * FROM urun_secenek where id=:id LIMIT 1");
                    $us = $ust_secenek->execute(array(":id"=>$as['urun_secenek_id']));
                    $us = $ust_secenek->fetch(PDO::FETCH_ASSOC);

                    $alt_secenek_fiyat = $as['fiyat'];

          }

          echo '<li class="cart-item">
                    <div class="cart-media">
                        <a href="#">
                            <img src="upload/'.$uimg['img'].'" alt="'.$urun['baslik'].'" />
                        </a>
                            <button class="cart-delete">
                                <i class="far fa-trash-alt"></i>
                            </button>
                    </div>
                    <div class="cart-info-group">
                        <div class="cart-info">
                            <h6>
                                <a href="urun/'.$urun['sef'].'">'.$urun['baslik'].'</a>
                            </h6>
                        </div>
                        <div class="cart-action-group">
                            <h6>'.fiyat($urun['fiyat'] + $alt_secenek_fiyat).'</h6>
                        </div>
                    </div>
                </li>';

        }

        echo '<a href="index.php">
                  <button class="widget__btn btn btn_purple " style="margin: 5px;" tabindex="0">Alışverişe Dön </button>
                </a>
                <a href="sepet">
                <button class="widget__btn btn btn_purple " tabindex="0">Satın Al</button>
              </a>';
      }else{
        echo '<center><div class="notifications__user">Sepetinizde Ürün Bulunmuyor</div></center>';
      }
    }else if($_POST['islem'] == 'sepet_sil'){
        $uniqid = $_POST['id'];
        unset($_SESSION['sepet']['urun_id'][$uniqid]);
        unset($_SESSION['sepet']['adet'][$uniqid]);
        unset($_SESSION['sepet']['secenek_id'][$uniqid]);
        unset($_SESSION['sepet']['key'][$uniqid]);
        echo 1;
    }else if($_POST['islem'] == 'sepet_sayisi'){
        echo @count($_SESSION['sepet']['key']);
    }else if($_POST['islem'] == 'favori-ekle'){

      $uniqid = $_POST['urun_id'];
      $_SESSION['favori']['urun_id'][$uniqid]      = $_POST['urun_id'];;
      $_SESSION['favori']['key'][$uniqid]          = $uniqid;
      echo 1;
    }else if($_POST['islem'] == 'favori-sil'){
        $uniqid = $_POST['urun_id'];
        unset($_SESSION['favori']['urun_id'][$uniqid]);
        unset($_SESSION['favori']['key'][$uniqid]);
        echo 1;
    }

  }

 if($_POST['islem'] == 'favori_sayisi'){
    echo @count($_SESSION['favori']['key']);
  }
?>  
munzevi
866 gün önce

in in bitmedi bakarken yoruldum.
kodları incelemeden cevap veriyorum, mevcut durumun çözümünden ziyade alternatif kullanım;

localStorage.getItem('sepet') ? console.log('sepette ürün var') : console.log('sepette ürün yok');

bunu ürün kontrol etmek için kullan, sepete ürün eklerkende, bunu json olarak kaydet, ürün eklenip çıkartıldığında jsondan objeye dönüp çerezi düzenle. sadece id kaydetsen yeter, bu sayede id'ye göre sepette ürün gösterip güncel fiyatlar için istekte bulunabilirsin. tamamını kaydedersen diye ekstradan söyleyim dedim.