Bu soru burada zaten bir cevabı var:
$auth
Authentication.php
tanımlanır nasıl görmeden, yardım etmek zor.
OOP yeni konum beri Ayrıca, sana anlatmak için ilk olsun o globals are bad. Sadece onları kullanmayın. Eğer zorunda hissediyorum Eğer kötü bir tasarıma sahip, çünkü büyük olasılıkla bulunuyor. Bunun yerine sorunu hızlı çözmek küresellerle kullanarak yeniden düşünmek gerekir. Bunun yerine, gibi bir şey yaparak Authentication
sınıfının yeni bir örneğini
$auth = new Authentication;
Emin olun Authentication
, bir sınıf ve her şeyi düzgün olarak aslında kurulum. PHP'nin çevrimiçi belgeler de iyi OOP introduction Eğer bakmak isteyebilirsiniz sahiptir.
Sorun aslında gösteren konum kodu değildir. Ben asıl mesele Oturum ilanından sonra yerde yatıyor ama aslında bunun bir örneğini oluşturmak için önce oldukça eminim. Var_dump ($ auth) takmayı deneyin; Eğer new Session
çağırmak ve aslında orada ayarlanmış olup olmadığını görmek hemen önce. Sonra geriye kodu soruşturma ve unset bulunuyor noktasını bulabilirsiniz.
Aynı zamanda, bu da söz edilmiştir: Globaller kaçınılmalıdır. Session
kurucusuna bir parametre olarak $auth
geçmek ve bu sınıfın bir üye değişkeni olarak depolamak için daha iyi bir çözüm olacaktır.
Hata mesajı:
Fatal error: Call to a member function checkLogin() on a non-object in /application/libraries/Session.php on line 30
PHP Authenrication.php de checkLogin işlevi bulamıyorum anlamına gelir. Eğer session.php için Authentication.php bulunan sınıf örneğini veya Oturum sınıf örneği değişken geçirmek emin olun.