• 26-11-2008, 11:01:02
    #1
    Üyeliği durduruldu
    Merhaba,

    Sepet uygulaması yapmak için birkaç kod hazırladık.
    Kod çalışıyor fakat, sadece bir tane ürüne kafayı taktı o ürünü alıyor.
    onun dışındaki ürünleri session'a almıyor
    çok saçma bir durum biliyorum ama, aklıma çözüm olarak birşey gelmiyor.
    örneklerini incelemek istedim fakat çok karışık bir yapılar çıkıyor.


    $model, $fiyat, değişkenleri ile yapmak istiyorum. sepette aynı üründen kaç tane olduğu da yazması gerekiyor, ve silinmesi isteniyorsa sepetten silinmesi gibi birkaç şey olması yeterli.


    örnek olarak şu tarz birşey hazırlamıştım.


    <?php
    session_start();
    $ekle= $_GET['ekle'];
    if ($ekle==onay) {
    $_SESSION['id']= $id;
    $_SESSION['model']= $model;
    }
    ?>
  • 26-11-2008, 11:41:30
    #2
    sepeti bir dizide tutabilirsin

    2 farklı dizi tipi kullanabilirsin

    $_SESSION[sepet][id][0]
    $_SESSION[sepet][model][0]
    $_SESSION[sepet][id][1]
    $_SESSION[sepet][model][1]
    <?php
    session_start();
    $_SESSION['id'] = array();
    $_SESSION['model'] = array();
    $ekle= $_GET['ekle'];
    if ($ekle==onay) {
    $_SESSION['id'][]= $id;
    $_SESSION['model'][]= $model;
    }
    ?>
    yada
    $_SESSION[sepet][0][id]
    $_SESSION[sepet][0][model]
    $_SESSION[sepet][1][id]
    $_SESSION[sepet][1][model]
    tarzında olabilir
  • 26-11-2008, 12:01:52
    #3
    session_start();
    $ekle= $_GET['ekle'];
    
    if ($ekle)
    { //yeni ürün seçildi
    
    if (!isset ($_SESSION['sepet']))
    { $_SESSION['sepet']=array();
       $_SESSION['urun']=0;
    
    }
    
    if (isset ($_SESSION['sepet'][$ekle]))
    $_SESSION['sepet'][$ekle]++;
    else
    $_SESSION['sepet'][$ekle]=1;
    
    }
  • 26-11-2008, 12:10:07
    #4
    Üyeliği durduruldu
    Misafir adlı üyeden alıntı: mesajı görüntüle
    <?php
    session_start();
    $ekle= $_GET['ekle'];
    if ($ekle)
    { //yeni ürün seçildi
    if ($!isset ($_SESSION['sepet']))
    { $_SESSION['sepet']=array();
       $_SESSION['urun']=0;
      $_SESSION['toplam_fiyat']='0.00';
    }
    if (isset ($_SESSION['sepet'][$ekle]))
    $_SESSION['sepet'][$ekle]++;
    else
    $_SESSION['sepet'][$ekle]=1;
    ?>

    radmin merhaba,
    şimdi başka bir sıkıntı yaşıyorum.en iyisi başa dönüş hataları düzeltmek.

    sepet.php dosyası içine, aşağıdaki kodları yerleştirdim.

    <?php
    session_start();
    $ekle= $_GET['ekle'];
    if ($ekle)
    { //yeni ürün seçildi
    if ($!isset ($_SESSION['sepet']))
    { $_SESSION['sepet']=array();
       $_SESSION['urun']=0;
      $_SESSION['toplam_fiyat']='0.00';
    }
    if (isset ($_SESSION['sepet'][$ekle]))
    $_SESSION['sepet'][$ekle]++;
    else
    $_SESSION['sepet'][$ekle]=1;
    ?>

    sepete ekleme yapılan yer yani urunlistele.php sayfasına da ,
    <?php
    echo '<a href="sepet.php?ekle=onay">Sepete Ekle</a>';
    ?>
    yaptım.

    urunlistele.php sayfasının üstüne yazmam gereken alan ne olması lazım ?
    <?
    ob_start();
    session_start();
    ?>
    yukarıdaki yeterli midir, yanlışsa ne yapmam gerekiyor ?
  • 26-11-2008, 12:33:16
    #5
    Aşağıdaki kodu b.php diye kaydet çalıştırırsan en azından basit mantığını görürsün...

    <?session_start(); // alışveriş sepeti uygulamasına start için
    
    $ekle= $_GET['ekle'];
    
    if ($ekle)
    { //alışveriş sepeti için yeni ürün seçildi
    
    if (!isset ($_SESSION['sepet']))
    { $_SESSION['sepet']=array();
       $_SESSION['urun']=0;
    
    }
    
    if (isset ($_SESSION['sepet'][$ekle]))
    $_SESSION['sepet'][$ekle]++;
    else
    $_SESSION['sepet'][$ekle]=1;
    
    }
    
    function urun_sayisi($sepet)
    {
    // alışveriş sepetimizdeki ürün sayısı
    $urun=0;
    if (is_array($sepet))
    {
    $urun=array_sum($sepet);
    }
    return $urun;
    }
    
    
    
    if($_SESSION['sepet']&&array_count_values($_SESSION['sepet']))
    echo urun_sayisi($_SESSION['sepet']);
    else { echo "henüz ürün yok"; }
    ?>
    <br><a href='b.php?ekle=1&urun=2'>Ekle</a>
  • 26-11-2008, 12:41:25
    #6
    Sepeti boşalt uygulamalı basit bir kod şeklide böyle kullanabilirsin
    <?session_start(); // Oturum bilgilerini almak için bu kullanilmali
    
    $ekle= $_GET['ekle'];
    
    if ($ekle)
    { //yeni ürün seçildi
    
    if (!isset ($_SESSION['sepet']))
    { $_SESSION['sepet']=array();
       $_SESSION['urun']=0;
    
    }
    
    if (isset ($_SESSION['sepet'][$ekle]))
    $_SESSION['sepet'][$ekle]++;
    else
    $_SESSION['sepet'][$ekle]=1;
    
    }
    
    function urun_sayisi($sepet)
    {
    //sepetti ürün sayısı
    $urun=0;
    if (is_array($sepet))
    {
    $urun=array_sum($sepet);
    }
    return $urun;
    }
    
    if ($sil=='tamam') {
     unset ($_SESSION['sepet']) ;
    }
    
    if($_SESSION['sepet']&&array_count_values($_SESSION['sepet']))
    echo urun_sayisi($_SESSION['sepet']);
    else { echo "henüz ürün yok"; }
    
    ?>
    <br><a href='b.php?ekle=1&urun=2'>Ekle</a> |  <a href='b.php?sil=tamam'>Sepeti boşalt</a>