Iki giriş var.

2 Cevap php

Ben karşılaşmamdır sorun benim giriş formu düzgün kayıt oturumu için iki giriş var, ama sadece Chrome (benim sürümü 4.0.249.89) ve Opera (benim sürüm 10.10 olduğu) olmasıdır.

Burada üzerinde test ediyorum soyunmuş kodu:

Sayfa Giriş:

session_start ();

 
$_SESSION['user_id'] = 8;
$_SESSION['user_name'] = 'Jim';

session_write_close();
header('Location: http://www.my-domain-name.com/');
exit();

Home Page:


session_start ();

if ( isset($_SESSION['user_id']) ) {
echo "You are logged in!";
} else {
echo "You are NOT logged in!";
}

Logout Page:


session_start ();
session_unset();
session_destroy();
header('Location: http://www.my-domain-name.com/');
exit();

Şu anda ben my-domain-name.com/login gidersem, hiçbir tanımlama ile taze bir yük altında, / bu ana sayfaya yönlendirme ve söylüyorlar "Oturumunuzu DEĞİLDİR!" ama ben oraya gidersem yine "You kaydedilir!" diyecekler. Herhangi bir fikir?

Yardımlarınız için teşekkürler.

2 Cevap

Yönlendirme başlığını vermeden önce bir sleep(2); eklemeyi deneyin; oturum verileri yeterince hızlı dosyaya yazılıyor değilse o yere kod aslında bir böcek olsun size, ya da olacak.

Sizin kod, sunulduğu gibi, bu çerez ayarı, ve ana sayfasını yüklemek için tarayıcıyı talimat, ana sayfa arama session_start ile sonsuz bir yeniden yönlendirme döngüsü () neden olacak gibi görünüyor. Burada sunulan kod eksik bir mantık var mı?