PHP garip oturum kapsamı sorunu

3 Cevap php

Ben daha önce yoktu gerçekten sıradışı sorun yaşıyorum, ben DBSKP'e ibraz için, işleme sayfada ben boş alanları gibi kullanıcı verilerinde herhangi bir hata kurmak ve bunları ayarlamak için bir kayıt sayfası / form ve işleme sayfa var bir oturum var dizisi

$_SESSION['signup_errors'] = $signup_errors;

$ Signup_errors Ben oturumuna ayarlanmış bir dizidir, ben daha sonra aynı sayfada olduğu oturum verilere erişebilir ama sadece URL ve ben düşünmek görünebilir tek şey değiştirmek için mod-rewrite kullanmak etrafında sitemde değişti Benim kayıt formu ben artık bu oturum değişkenleri erişemiyor ve şimdi ben mod-yeniden kullanmak url bu domain.com / hesap / yeni gibi ve bu yüzden şimdi domian.com /? p = account.new olarak kullanılır Bir değişik klasörde olduğunu görünür, bunun bir ilgisi olabilir?

Ben çok hata ayıklama denedim ve bunun nedeni mod-yeniden belki oturumu unaccessible yapar şimdi farklı bir dizin gibi görünüyor, çünkü belki ben ile gelebilir tek şey mi?

3 Cevap

Eğer erişiyor her sayfada oturumları başlıyoruz emin misin? Eminim orada olmak için kontrol ediyorum

session_start();

Gerekli yerlerde.

Ayrıca, ne yapar

print_r( $_SESSION );

dönmek? Hiç bir şey? Eğer değilse muhtemelen ben diyordum işaret eder.

Ben etki değişen değiliz kontrol olur. ÖRN. domain.com -> www.domain.com

Normalde bir çerez session id izlemek, ve varsayılan olarak kullanılır, çerez, tek bir etki bağlıdır. I.E. Oturum www.domain.com adresinde oluşturulan Eğer login.domain.com ziyaret ettiğinde, çerez hiçbir oturum bilgi sonuçlanan gönderilecek olmaz.

Bu belki benzer bir senaryo var, bir kere başıma geldi. Oturum değişken geçici olduğunu ve ekrana outputted bir kez ben onu yok ederim.

Her şeyi yönlendirme eğer kırık bir görüntü varsa yeniden mod sayesinde, bu aynı zamanda sizin php komut dosyası için yönlendirilir olabilir, bu arka zemin hata dışarı baskı ve bu oturum var mahveder.

Sadece bir düşünce!