ztk adlı üyeden alıntı: mesajı görüntüle
sessionların saklandığı dosya boyutu küçük ise yeni sessionları yazmıyor olabilir veya yeni gelen sessionları bir öncekinin üzerine yazıyor olabilir. bu da en son giren kişinin oturumunun bir öncekinde görünmesine neden olabilir.
php.ini dosyasında aşağıdaki parametreleri kontrol edin.
session.save_path =
session.cookie_secure =
session.use_cookies =
session.use_only_cookies =
session.name =
session.entropy_length =
session.cache_limiter =
session.cache_expire =
session.hash_function =
Bunları inceledim evet. Standart ayarlar mevcut. Herhangi bir problem göremedim.

mrxtix adlı üyeden alıntı: mesajı görüntüle
Problemi net anlayabilmek için kullanıcı değişirken sabit bir kullanıcıyı mı alıyor? Yoksa rastgele mi geliyor?
Rastgele

BND adlı üyeden alıntı: mesajı görüntüle
if( isset($_POST["giris_onay"]) && $_POST["giris_onay"] == "2" ) { // strip_tags(html kaldır), trim(boşluk kaldır), dbtrim(tırnak sorunu) $username = strip_tags(trim(dbtrim($_POST["username"]))); $password = strip_tags(trim(dbtrim($_POST["password"]))); // şifrelenmiş parola $hash = create_password($password); if ( (strlen($username)>=1) and (strlen($hash)>=1) ) { if( dbcount("id", "uyeler", "username='".($username)."' AND password='".($hash)."'") <= 0 ) { $mesaj = "<div id=\"blok\"><p><font style=\"color:red;\">Böyle bir kullanıcı bulunmuyor!</font></p></div>"; } else if( dbresult("SELECT onaylimi FROM uyeler WHERE username='".($username)."' AND password='".($hash)."'") != '1' ) { $mesaj = "Hesabınızı aktif etmelisiniz! E-Posta adresinizi kontrol edin."; } else if (dbresult("SELECT ban FROM uyeler WHERE username='".($username)."' AND password='".($hash)."'") == '1') { $mesaj = "<div id=\"blok\"><p><font style=\"colorrange;\">Hesabınız engellenmiştir.</font></p></div>"; } else { // giriş yap $result = dbquery("SELECT * FROM uyeler WHERE username='".($username)."' AND password='".($hash)."'"); $uyebilgi = $result->fetch_assoc(); // cookie set - 7 günlük $_SESSION['login'] = $_POST["username"]; $_SESSION['password'] = $hash; if ( (strlen($_SESSION['login'] )<=0) and (strlen( $_SESSION['password'])<=0) ) { session_destroy(); header("Location: /login"); //login nereyse die; } // üye sayfasına gönder header("Location: /home"); } else { session_destroy(); header("Location: /login"); //login nereyse die; } }
if( isset($_SESSION['login']) ) { $giris_yapildimi = 'evet'; $sl= $_SESSION['login']; $sp= $_SESSION['password']; if ( (strlen($sl )<=0) and (strlen( $sp)<=0) ) { session_destroy(); header("Location: /login"); //login nereyse exit; } $result = dbquery("SELECT * FROM uyeler WHERE username='".($sl)."' AND password='".($sp)."'"); $uyebilgi = $result->fetch_assoc(); if ($uyebilgi['username'])!== $_SESSION['login']) //loginin usernamei tuttuğunu varsaydım. Değilse uygun biçimde değiştirin. Buraya password de eklenebilir. session_destroy(); header("Location: /login"); //login nereyse exit; } else { $giris_yapildimi = 'hayir'; $uyebilgi = array(); session_destroy(); header("Location: /login"); //login nereyse die; }




Sonradan eklediğim AND'leri OR olarak değiştirirsiniz. Düzenleme yapınca bozuk görünüyor.
Deneyeceğim teşekkürler