php setcookie etki

3 Cevap php

Bazı bana göre yazılı değil uygulama, değil PHP, "www.domain.com" etki alanı için bir çerez oluşturur.

Ben bu çerez yerine etmeye çalışıyorum. Yani php yaptım:

setcookie('mycookie','mydata',time() + 2*7*24*60*60,'/','www.domain.com', false);

Ancak çıkan çerez etki alanı için oluşturulur: ". Www.domain.com", noktayı unutmayın "." etki önde.

So it doesn't replace it, it creates another cookie. What can I do?

3 Cevap

The issue is also adressed here: http://php.net/manual/en/function.setcookie.php

"Jah" by Yorum Bkz: If you want to restrict the cookie to a single host, supply the domain parameter as an empty string

Ayrıca etki alanı olarak ". Domain.com" deneyebilirsiniz. Sondaki nokta "domain.com" için tüm alt etki alanları için bir çerez sağlayacak ve üzerine yazabilirsiniz "www."-Çerez, ama önce yukarıda çözümü ile gidersiniz.

Eğer bir etki alanı belirtirseniz, RFC 2109 ve takip bir nokta ile etki önek gerekir; Aksi takdirde müşteri yapacağız. Eğer her bir etki alanı belirtirseniz yoksa Ama, müşteri istek etki alacaktır.

Aynı adı taşıyan diğer bazı çerez, ancak farklı bir etki alanı oluşturmak için deneyin. Örnek:

setcookie('mycookie','mydata1',time() + 2*7*24*60*60,'/','www.domain.com', false);
setcookie('mycookie','mydata2',time() + 2*7*24*60*60,'/','www.domain.com', false);
setcookie('mycookie_top','mydata1',time() + 2*7*24*60*60,'/','domain.com', false);
setcookie('mycookie_top','mydata2',time() + 2*7*24*60*60,'/','domain.com', false);

Sonra kundakçı bu komutu tarafından oluşturulan çerez inceleyin. Eğer çift çerez elde tutulur, sonra bu PHP bir hata olabilir. Ayrıca, yine aynı sorunları var olmadığını görmek, javascript kodu cookie kurmaya çalışın.