Tarayıcıyı yeniden başlatmadan Oturuma mevcut değil

2 Cevap php

Benim sisteme giriş ve bir çerez bu şekilde ayarlayın:

setcookie("hello",true,time()+3600);

Sonra firefox çerez yöneticisi bakmak ve benim çerez ayarlanmış olduğunu görüyoruz.

Benim tarayıcınızı yeniden başlatın ve yeniden ne zaman çerez bu kod orada olduğunu ancak çerez yöneticisi görmek:

if(isset($_COOKIE['hello'])){

        	echo "yes"; exit;}

I don't see anything it redirects me to the login form. Does anyone know what's going on?

2 Cevap

Denemek için bazı şeyler:

  1. Explicity / setcookie ila path özniteliğini ayarlayın böylece tanımlama tüm etki alanı mevcuttur.
  2. Bunun yerine isset kontrol, bir print_r aksi takdirde boş bir PHP dosyası $_COOKIE içinde yapmaya çalışın.
  3. Ve value kısım setcookie bir dize değil, bir boolean bekliyor. Şu anda hello 1 ayarlı olduğunu gibi bu gerçekten önemli değil üzerinde sadece onu işaret düşündüm bir yeniden hayatta ya da değil edip rağmen, hayal olur dışarı.
  4. Tarayıcınız Çıkışta çerezleri silmek için ayarlanmış sen var mı? Gizlilik> ve diyor bir seçenek var -> Seçenekler - Firefox, örneğin, Araçlar gidebilirsin "Ben Firefox çıkmak her zaman benim özel verileri temizlemek." Eğer bu set herhangi bir tanımlama varsa tarayıcınızı kapattığınızda silinir var.
  5. Eğer yeniden başlatma için PHP prior gelen çerez erişimi kontrol ettiniz mi? Sen önce ve sonra Çerez Yöneticisi görebiliyorum söylüyorlar, ama önce veya sonra PHP görebilirsiniz?

Düzenli bir cookie, 'merhaba' çerez gibi, bir tarayıcı yeniden hayatta olsa, bir oturum tanımlama olmaz.

Eğer giriş için bir oturum tanımlama kullanıyor gibi gelebilir, böylece bir yeniden başlatma sonra sayfayı vurduğunuzda, yeniden oturum açmanız gerekir.