setcookie("maxfiyat", $_POST['maxfiyat'], time()+3600); setcookie Çalışmıyor
8
●127
- 24-01-2021, 11:22:22Merhaba PHP de cookie ekleme functionu çalışmıyor nerede hata var POST isteği sorunsuz geliyor
- 24-01-2021, 11:25:47evet başlattım fakat ekleme yine yapmadı sanırım jquery ile denemem daha iyi olurOmerSRN adlı üyeden alıntı: mesajı görüntüle
- 24-01-2021, 11:59:38Aşağıdaki Ufak Javascript kodu ile sorunu çözdüm
function createCookie(name, value, days) { var expires; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toGMTString(); } else { expires = ""; } document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/"; return true;} - 24-01-2021, 18:45:07Kimlik doğrulama veya yönetimden onay bekliyor.
$sonuc = setcookie("maxfiyat", $_POST['maxfiyat'], time()+3600); var_dump($sonuc);eğer false çıktısı var ise ; büyük olasılıkla ob_start() fonksiyonunu kullanımınız hatalı olabilir .
eğer true çıktısı veriyor ise çerez oluşturuluyor ancak oluştururken girilen değerler kullandığınız yerde erişemiyor olabilirsiniz.
sebebini öğrenmek için ;
f12 tuşu ile inspector'u açın
"Application" sekmesini açın
sol taraftan "Cookies" menüsünü genişleterek mevcut sitenizi seçin ve oluşturulan çerezleri inceleyin.
çerez listesinde "maxfiyat" var ise path kısmını ve expires sütunlarını kontrol edin.
eğer path kısmında sadece / yok ise çereziniz farklı bir path'e oluşturuluyor ve okumaya çalıştığınız path bu path ile aynı olmayabileceğini gösterir. bunun için ;
$sonuc = setcookie("maxfiyat", $_POST['maxfiyat'], strtotime("+1 hour") , "/");bunun haricinde çerezi oluşturduğunuz ve okuduğunuz sayfalardan biri http diğeri https olabilir.
Farklı bir sorun olarak ise çerezi sayfa yenilenmeden okumaya çalışıyor olabilirsiniz.
Formu post ettikten ve cookie ayarladıktan sonra sayfanın yenilenmesi gerekir.
$sonuc = setcookie("maxfiyat", $_POST['maxfiyat'], time()+3600); if($sonuc) { header("Location :geldigim_yere_git.php?iset=ok"); exit; } - 24-01-2021, 19:34:18Hocam sanırım sitenin sunucusu veya php ayarları ile alakalı birşey javascript ile cookie ekleyerek sayfa yenileme yaptım ayrıca cookieleri EditCookie Eklentisi İle Görüntülüyorum yani print_r vb çıktı ile değilProxima adlı üyeden alıntı: mesajı görüntüle
- 24-01-2021, 19:42:42çerezler tarayıcı taraflıdır, sunucu tarafından setcookie fonksiyonu engelli değilse sunucu taraflı bir sıkıntı olacağını sanmıyorum.yusuf68700 adlı üyeden alıntı: mesajı görüntüle
- 24-01-2021, 19:43:36Bilmiyorum hocam hiçbir şekilde cookie eklemesi yapmadı sadece jquery ile yaptıProxima adlı üyeden alıntı: mesajı görüntüle
- 24-01-2021, 19:51:38aşağıdaki kodları yeni bir cookie_test.php sayfası oluşturarak ftp ye atıp çalıştırmayı deneyin. böylece sorun sunucudan kaynaklı mı olduğunu test edebilriiz.yusuf68700 adlı üyeden alıntı: mesajı görüntüle
<?php if(!isset($_COOKIE["test_cookie"])){ setcookie("test_cookie" , 1 , strtotime("+1 hour") , "/"); header("Refresh:0"); exit; }else{ echo $_COOKIE["test_cookie"]; } ?>