farkmt2official 1
farkmt2official
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle

PHP Sepet Mantığı Yapımı;

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

Merhaba arkadaşlar bir çoğunuz e-ticaret kodlamak istemiştir. Web yazılımcılar için söylüyorum bugun size e-ticaretlerin vazgeçilmezi olan sepet mantığı nasıl yapılır ? Onu gösterecek ve uygulamalı video ile örnek vereceğim.

İlk olarak sepet Sistemi nedir ?

Sepet sistemi veritabanından çekilen ürünleri sepete ekle dediğimiz zaman cookie olarak toplamak ve sepette ürünleri listelemektir, daha sonra bu sepetteki ürünü silebilir veya tamamını temizliye bilirsiniz.


Yazılı olarak anlatımı yapıcam fakat bunu zaten en iyi dil ile tayfun erbilen anlatmış küçük bir örnek ile anlatıp paylaştığı için sıfır'dan bi sepet sistemi yapmayacağım sadece size aktarmak istiyorum.

gWa1p5.png

küçük örnek bu şekil'de mantığı resim'den de çıkartabiliyorsunuz zaten sepete ekle dendiği zaman üstteki sepetiniz'de ürün bulunmuyor kısmında kaç ürün olduğunun sayısı veriyor
ZE4ypV.png

Daha sonra sepetimi Göster dediğiniz zaman'da
lWlgpr.png


Şeklin'de sepetinizi önizleyebilirsiniz.

İlk olarak php dosyanız'da ob_start(); Başlatmanız gerekiyor ob_start() fonksiyonu ara belleğe alınmasını sağlar header tanımlamak zorun'da değilsiniz bu örnek'de bulunuyor ama tek sayfalık bi örnek olduğu için header ile karakter setini ve sayfa tipini belirtiyor.

Güvenlik fonksiyonu ile gönderilen get verisini htmlspeciaalchars fonksiyonu ile html özel taglarını çevirir ve zararsız hale getirir, özel html karakterlerini çevirir,
& (ampersand) karakterini &
" (çift tırnak) işaretini "
' (tek tırnak) işaretini '
< (küçütür) işaretini &lt;
> (büyüktür) işaretini &gt;
şeklin'de çevirir ama sayfayı önizler gene '&gt;' bu '>' şeklinde görünür, trim fonksiyonu ile'de boşluğu çevirerek örnek ' deneme safasf ' gibi boşluklu ifadeyi trim ile 'denemesafasf' olarak çevirir,

array_map komutu ile'de gönderilen her get verisini veya post verisini belirtilen fonksiyon'dan geçirir.

Şimdi kullanıma geçebiliriz ;

Video'da anlatılanlar;
– Ürünleri Sepete Eklemek

– Sepetteki Ürünleri Listelemek
– Sepeti Boşaltmak
– Sepetten Tek Tek Ürün Çıkartmak

Söylediğim gibi anlatım tayfun erbilen'e aittir.



Bu örneği kendiniz denemek için;

PHP:
<?php

ob_start();
header('content-type: text/html; charset=utf8');
?>
<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>PHP Alışveriş Sepeti (DEMO) - $prototürk</title>
</head>
<body>

<?php

    /* güvenlik */
    function guvenlik($par){
        return htmlspecialchars(trim($par));
    }
    array_map('guvenlik', $_GET);
   
    /* ürünlerim */
    $urunler = array(1,2,3,4,5);
   
    if ( isset($_GET['sepetim']) ){
       
        echo '<h2>Sepetiniz ('.count($_COOKIE['urun']).')</h2>';
        if ( isset($_COOKIE['urun']) ){
            foreach ( $_COOKIE['urun'] as $urun => $val ){
                echo '<div style="border: 1px solid #ddd; padding: 10px; margin-bottom: 10px">
                    <h2>Ürün '.$urun.'</h2>
                    <p>burası ürün açıklaması :)</p>
                    <a href="?cikart='.$urun.'">[sepetten çıkart]</a>
                </div>';
            }
        } else {
            echo 'Şuan sepetinizde hiç ürün bulunmuyor!';
        }
       
    } else {
   
        /* sepette kaç tane ürün var? */
        if ( isset($_COOKIE['urun']) ){
            echo 'Şuan sepetinizde <strong>('.count($_COOKIE['urun']).') ürün</strong> bulunuyor! <a href="?sepetim=true">[Sepetimi Göster]</a> / <a href="?bosalt=true">[Sepeti Boşalt]</a>';
        } else {
            echo 'Şuan sepetinizde hiç ürün bulunmuyor!';
        }
       
        /* ürünleri listeleyelim */
        foreach ( $urunler as $urun ){
            echo '<div style="border: 1px solid #ddd; padding: 10px; margin-bottom: 10px">
                <h2>Ürün '.$urun.'</h2>
                <p>burası ürün açıklaması :)</p>
                '.(isset($_COOKIE['urun'][$urun]) ? '<a href="?cikart='.$urun.'">[sepetten çıkart]</a>' : '<a href="?ekle='.$urun.'">[sepete ekle]</a>').'
            </div>';
        }
   
    }
   
    /* sepete ürün ekle */
    if ( isset($_GET['ekle']) ){
        $id = $_GET['ekle'];
        setcookie('urun['.$id.']', $id, time() + 86400);
        header('Location:'.$_SERVER['HTTP_REFERER']);
    }
   
    /* sepeti boşalt */
    if ( isset($_GET['bosalt']) ){
        foreach ( $_COOKIE['urun'] as $key => $val ){
            setcookie('urun['.$key.']', $key, time() - 86400);
        }
        header('Location:'.$_SERVER['HTTP_REFERER']);
    }
   
    /* sepetten ürün çıkart */
    if ( isset($_GET['cikart']) ){
        setcookie('urun['.$_GET['cikart'].']', $_GET['cikart'], time() - 86400);
        header('Location:'.$_SERVER['HTTP_REFERER']);
    }

?>

</body>
</html>


 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst