• 24-01-2021, 11:22:22
    #1
    Merhaba PHP de cookie ekleme functionu çalışmıyor nerede hata var POST isteği sorunsuz geliyor
    setcookie("maxfiyat", $_POST['maxfiyat'], time()+3600);
  • 24-01-2021, 11:23:18
    #2
    ob_start() başlattınız mı sayfanın başında?
  • 24-01-2021, 11:25:47
    #3
    OmerSRN adlı üyeden alıntı: mesajı görüntüle
    ob_start() başlattınız mı sayfanın başında?
    evet başlattım fakat ekleme yine yapmadı sanırım jquery ile denemem daha iyi olur
  • 24-01-2021, 11:59:38
    #4
    Aş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:07
    #5
    Kimlik 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:18
    #6
    Proxima adlı üyeden alıntı: mesajı görüntüle
    $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;
    }
    Hocam 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ğil
  • 24-01-2021, 19:42:42
    #7
    yusuf68700 adlı üyeden alıntı: mesajı görüntüle
    Hocam 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ğil
    çerezler tarayıcı taraflıdır, sunucu tarafından setcookie fonksiyonu engelli değilse sunucu taraflı bir sıkıntı olacağını sanmıyorum.
  • 24-01-2021, 19:43:36
    #8
    Proxima adlı üyeden alıntı: mesajı görüntüle
    çerezler tarayıcı taraflıdır, sunucu tarafından setcookie fonksiyonu engelli değilse sunucu taraflı bir sıkıntı olacağını sanmıyorum.
    Bilmiyorum hocam hiçbir şekilde cookie eklemesi yapmadı sadece jquery ile yaptı
  • 24-01-2021, 19:51:38
    #9
    yusuf68700 adlı üyeden alıntı: mesajı görüntüle
    Bilmiyorum hocam hiçbir şekilde cookie eklemesi yapmadı sadece jquery ile yaptı
    aş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.

    <?php
    if(!isset($_COOKIE["test_cookie"])){
        setcookie("test_cookie" , 1 , strtotime("+1 hour") , "/");
        header("Refresh:0");
        exit;
    }else{
        echo $_COOKIE["test_cookie"];
    }
    ?>