merhaba arkadaşlar cookisi dolan sepettiki ürünü de db den silme noktasında kafam karıştı.
if(count($_COOKIE['urun'])==0){
yani yoksa ilgili İP ye ait tüm cookiler siliyorum buda oturumu bitmemiş idlerinden sepetten gitmesi demektir mantıklı değil bu.
dETAYLI OLARAK bir örnekle 4 adet sepetteki ürün var. 3 adet ürüne düştüğünde çıkan YALNIZ 1 ürünü DB'den nasıl silmeliyim.
cookisin YENİ BİTMİŞ ürün İD leri nasıl ulaşırım. $_COOKIE veya dizisindeki yeni çıkan id PRATİK ŞEKİLDE bulsam süper olacak. kolay gelsin herkese.
if(!in_array($yeniCikanId, $_COOKIE['urun'])){ /// diziden 2.sn önce oturum süresi dolmuş ID ürün SİL DB DEN KARDEŞİM gibi }
echo count($_COOKIE['urun']);
if(count($_COOKIE['urun'])==0){
$sil = mysql_query("DELETE FROM siparispaketler WHERE ip='".$_SERVER["REMOTE_ADDR"]."' ");
if($sil){
foreach($_COOKIE['urun'] as $key => $val){ setcookie('urun['.$key.']',$key, time() - 3600); }
}
}
cookisin YENİ BİTMİŞ ürün İD leri nasıl ulaşırım.
3
●130
- 08-03-2018, 00:49:57
- 08-03-2018, 09:31:24Şöyle ki cookie oluştururken cookie'nin kopyasını veritabanına alıp ayrıca cookienin bitiş süresini ekleyebilir ve tablodan o süreye ulaşanları silebilirsin.
Ayrıca cookie süresini uzatmak istersen o kişi sitene tekrar girdiğinde o kullanıcıda cookie mevcutsa o cookie yi okuyup eşleştirebilirsin. Tabi bunu yaparken cookieyi boş boş değilde güvenlik kodu(secret code) düzenleyerek güvenliğini sağlamalısın zaten cookie kullanıcı tarafından değiştirilebilir olduğu için veritabanı işlemleri için sql injection güvenlik önlemini alman da gerekir. - 08-03-2018, 17:16:37"Ayrıca cookie süresini uzatmak istersen" $_cookie global değişkenin SÜRESİNİ nasıl bulabilirim
- 08-03-2018, 20:13:07http://php.net/manual/tr/features.cookies.php
Getting Cookie ============================= <?php echo $_COOKIE["your cookie name"]; ?>