Ben PHP oturumları kullanarak basit bir giriş sistemi var, ama sadece son zamanlarda belirli bir dizinin sayfaları değil ziyaret ederseniz bile, oturum açmış değil (/ login /) her zaman bayraklı olacak gibi görünüyor. Ben dizinleri değiştirmek zaman benim oturum verileri (diyelim için / login / user /) kayıp ediliyor gibi görünüyor.
Ben sorunu ortaya beri kodunu kendimi dokundu sanmıyorum, benim web barındırma oturum verileri silmek istiyorsunuz benim PHP kurulum için yapmış olabilir bir şey var, ve bir çözüm var mı?
EDIT:
Inside each file that needs authorization, it loads a loginfunctions.php file which calls session_start() and checks the login. Files which work in /login and i copy and paste into /login/user stop working, even though i update all the relevant paths and links.
EDIT2: Okay, some code.
Bana hata vererek gerçek sayfalarında, bu auth olduğunu. kodu:
require_once("../../../includes/loginFunctions.php");
$login = new login;
$login->checkLogin(0);
LoginFunctions.php İçinde şudur:
class login{
function checkLogin($requiredAccess){
session_start();
if($_SESSION['accesslevel'] < $requiredAccess || $_SESSION['logged_in'] != TRUE){
die("You don't have access to this area. If you should have access, please log in again. <a href='/login/'>Login</a>");
}
if (isset($_SESSION['HTTP_USER_AGENT'])){
if ($_SESSION['HTTP_USER_AGENT'] != md5($_SERVER['HTTP_USER_AGENT'])){
session_destroy();
die("Bad session. Please log in again. <a href='/login/'>Login</a> ");
}
} else {
$_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
}
if (!isset($_SESSION['initiated'])){
session_regenerate_id();
$_SESSION['initiated'] = true;
}
}
}
$ RequiredAccess değişkeni bu sayfaya erişmek için gereken erişim seviyesi, yani veritabanında 3 bir accesslevel varsa seviye 0, 1, 2 ve 3 sayfalarını görüntüleyebilirsiniz. Fonksiyonu ana sayfasında denir ve onlar oturum zaman $ _SESSIONS tanımlanan geçerli kullanıcının erişim seviyesine göre ne zaman bu belirtilen
Ben bu sayfalara erişmek çalıştığınızda "vb bu alana erişimi yok 'hatası alıyorum i $ _SESSION değişkenleri yazdırmayı denerseniz, hiçbir şey göstermektedir;.. Onlar boş görünebilir Ancak, eğer mükemmel çalışır ve tüm değişkenlerin ince yazdırmak, / login / klasör (bir üst düzey) için dosyayı taşımak ve bağlantıları güncelleştirmek. Bu bana kod çalışmıyor parçası olmadığını düşünüyorum yapar, ama benim PHP bazı ayar yüklemeniz benim haber vermeksizin değiştirilebilir olmuştur.