PHP çerez değeri al?

3 Cevap php

I create the cookie in jQuery. I can verify it in Firefox. But when I try to print the cookie or assign into another value I cant get it. I also use sessions. And I started the session in PHP. My code to print or assign the cookie value is shown below

echo $_COOKIE['a'];

değer atama için

$b=$_COOKIE['a'];

JQuery kullanılarak oluşturulan çerez

$.cookie("a",$(this).val());

Nerede bir hata yaptın? Nasıl çerez değerini alabilirsiniz?

3 Cevap

Bu hiç jQuery olmadan tamamen PHP çerez ayarlamak mümkündür ..

.. Ancak ...

Bu this way. jQuery kullanıyorsanız görünür

Ne bir soruna neden olabilecek bir kaç şey olduğunu:

a) $(this).val() belki NULL iade olabilir.

b) çerez yolunu ve sona erme ayar değildir. Eğer alt dizinleri varsa bir master cookie bu kök yolu '/' ayarlamak için normalde iyidir.

PHP kullanarak çerez okumak için, bu deneyin ...

  $cookies = explode(';', $_SERVER['HTTP_COOKIE']);

... Ve "a" çerez için dizi aramak.

Tamamen PHP, çek here. ayarını ve kullanarak tanımlama, okuma ile ilgili diğer belgeler

Diğer kod sayfası yankılandı önce bu fonksiyonu çağırmak gerekir. (Başlıklarından önce)

PHP bir çerez değerini ayarlamak için, setcookie işlevini kullanın:

setcookie("a", "foobar");

Bunu yapmak, ancak, istemci için size önce çıkış kodu çalıştırmak (ve HTTP başlıklarını göndermek gerektirir Yani temelde, böyle bir şey yapamaz.:

<div>
<p>Here's my cookie!</p>
<?php
setcookie("foo", "bar");
?>
</div>

Eğer herhangi bir HTML var önce setcookie aramak gerekir.

Eğer istemci üzerinde çerez değerini ayarlayın eğer Ayrıca, size çerez değerini almak için o müşteri bir istekte gerekir. Sadece sunucu üzerinde keyfi kod çalıştırıyorsanız, istemci geri kurabiye göndermiyor.

Son olarak, sunucu işleme ve JS aynı etki alanında olması için ihtiyacı olan sayfasıdır sayfa. Onlar değilseniz, tarayıcı, uygun çerez göndermek değildir.

Bu yardımcı olur umarım!

Bana iyi görünüyor. Sorunu hata ayıklamak için, deneyin:

var_dump($_COOKIE);

ve ayrıca:

List Cookies in Javascript