• 24-03-2014, 13:24:28
    #1
    Reveloper
    Merhaba,

    Arkadaşlar ufak bir sepet sistemi yaptım kendime ama şunu beceremedim hala

    Sepete Ekle diyorum

    EĞER session boşsa yani ilk defa ekliyosa,

    örn ürün id:350

    EĞER session doluysa virgül koyup ekliyo

    örn ürün id: 350,351,385,311

    ama bunun içinden 351'i silmek istiyorum nasıl yapayım ?

    session formatı hariç herşeyi yaptımda nası ayarlayacağım hala düşüncedeyim öneriniz nedir dostlarım?

    	if($_GET["quit"]){
    		$id=(int)$_GET["quit"];
    		$check=ereg($id,$_SESSION["product"]);
    		if($check==true){
    			print '<script>alert("Ürün sepetinizden silindi!");history.back(-1);</script>';
    		}
    	}
  • 24-03-2014, 13:51:48
    #2
    session içindeki verileri explode ile kes "," çıktısı array ($kes) olacaktır. sonra array_search ile silmek istediğini value arat ve onun key değerini al.($key = array_search('561',$kes)) örneğin $key = 5 çıktı, unset($kes[$key]) yaparak unset edip tekrar session a yaz.
  • 24-03-2014, 14:35:02
    #3
    Reveloper
    ulast adlı üyeden alıntı: mesajı görüntüle
    session içindeki verileri explode ile kes "," çıktısı array ($kes) olacaktır. sonra array_search ile silmek istediğini value arat ve onun key değerini al.($key = array_search('561',$kes)) örneğin $key = 5 çıktı, unset($kes[$key]) yaparak unset edip tekrar session a yaz.

    	if($_GET["quit"]){
    		$id=(int)$_GET["quit"];
    		$check=ereg($id,$_SESSION["product"]);
    		if($check==true){
    			$siparis = explode(",",$_SESSION["product"]);
    			$key = array_search($id,$siparis)
    			unset($siparis[$key]);
    			print '<script>alert("Ürün sepetinizden silindi!");history.back(-1);</script>';
    		}
    	}
    şöyle yaptımda çıkanını nasıl vereceğim onu bulamadım hala hocam?
  • 24-03-2014, 17:11:29
    #4
    Reveloper
    çözdüm sorunumu çok teşekkür ederim ihtiyacı olanlar için:

    	if($_GET["quit"]){
    		$id=(int)$_GET["quit"];
    		$check=ereg($id,$_SESSION["product"]);
    		if($check==true){
    			$siparis = explode(",",$_SESSION["product"]);
    			$key = array_search($id,$siparis);
    			unset($siparis[$key]);
    			$_SESSION["product"]=implode(",",$siparis);
    			print '<script>alert("Ürün sepetinizden silindi!");history.back(-1);</script>';
    		}
    	}
  • 24-03-2014, 20:18:22
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @Burti; ereg deprecated olduğundan ilerleyen zamanlarda sorun çıkartabilir. Onun yerine preg_match kullanabilirsin.
  • 24-03-2014, 21:26:12
    #6
    Reveloper
    saintx adlı üyeden alıntı: mesajı görüntüle
    @Burti; ereg deprecated olduğundan ilerleyen zamanlarda sorun çıkartabilir. Onun yerine preg_match kullanabilirsin.
    preg_match ile bi örnek verirmisin kardeşim sana zahmet
  • 24-03-2014, 22:09:45
    #7
    @Burti; sen orda preg_match yerine str_contains kullansan daha iyi olur. (str_contains PHP'ye dahili bi' fonksiyon değildir, harici olarak eklenebilir.)

    str_contains fonksiyonu;
    function str_contains($haystack, $needle)
    {
    	return (bool) strpos($haystack, $needle) !== false;
    }
    kullanımı;
    if(str_contains($id, $_SESSION["product"]))
    {
    	// buldum.
    }
    else
    {
    	// bulamadım.
    }