15 Şubat 2013 Cuma

PHP de Session'lar ile Alışveriş Sepeti sistemi temeli


Her e-ticaret sisteminde olan alışveriş sistemlerinin php'de temeli çok basittir. Oturumlar. Oturumlar ile e-ticaret sistemlerinde EN TEMEL seviyede nasıl ürün ekleneceğini aşağıda örneklendirmek isterim.

<?php

session_start();
$_SESSION["sepet"] = array(44,22,44,55,31); //Sepete ürünlerin idlerini tutan arrayi atıyoruz
/* Kullanıcı 44 nolu ürününden 2 adet, 22,55 ve 31 nolu üründen birer adet sepetine eklemiş oldu.
* Şimdi eklenen ürünleri listeleyelim
*/
var_dump($_SESSION["sepet"]);
/*
* array (size=5)
0 => int 44
1 => int 22
2 => int 44
3 => int 55
4 => int 31
*/
array_push($_SESSION["sepet"], 77);
/* Daha sonra kullanıcı sepetine bir ürün daha eklemiş olsun diyelim.
* Sepetindekileri bozmadan yeni bir ürün ekliyoruz. Eklediğimiz ürünün numarası 77 olsun.
* Bu eklenen ürünü array_push yardımıyla sepetteki ürünleri bozmadan ekliyoruz.
*/
var_dump($_SESSION["sepet"]);
/*Şimdi sepettekileri yazdıralım. Gördüğümüz gibi 6 adet ürünümüz var
* Bunlar 2 adet 44 nolu ürün (farz-ı mahal gofret)
* Birer adet ise 22,55,31 ve 77 nolu ürünlerden bulunmakta.
* array (size=6)
0 => int 44
1 => int 22
2 => int 44
3 => int 55
4 => int 31
5 => int 77
*/

//Şimdi sepetten 22 nolu idyi silelim..
//(Müşeteri satın almadan önce 22 nolu ürünü[cep telefonu] almaktan vazgeçip sepetten çıkarsın
if(($anahtar = array_search(22, $_SESSION["sepet"])) !== false)
{
    $sepettekiler = $_SESSION["sepet"];
    $_SESSION["sepet"] = array();
    for($i=0; $i < count($sepettekiler); $i++ )
    {
        if($i != $anahtar)
            array_push($_SESSION["sepet"], $sepettekiler[$i]);
    }
}
var_dump($_SESSION["sepet"]);
/*Ve sepetimizin son hali.
* array (size=5)
0 => int 44
1 => int 44
2 => int 55
3 => int 31
4 => int 77
*/
?>