Tümü,
Bu soru muhtemelen çok basit bir cevabı var - Ben bakan değilim şey. Ama belki birileri nereye bakmak için bana söyleyebilir ...
Ben çok basit bir giriş formu (örneğin, kullanıcı adı ve şifre) ile bir PHP sayfası ("index.php") var.
Kullanıcı "Gönder" butonuna, form mesaj tıkladığında başka bir PHP sayfası ("login.php") için değerleri. Bu sayfa, kullanıcının kimlik bilgilerini teyit etmek gerekiyordu, sonra aşağıdakileri yapın:
- If the user's credentials are not correct, redirect the user to error.php, along with an error message
- If the user's credentials ARE correct, create a session and set $_SESSION['authenticated'] = true, then redirect him to "loggedin.php"
[UPDATE]
Sonra, loggedin.php, ben ($ _SESSION ['doğrulanmış']) bu isset görmek için kontrol true döndürür. Eğer varsa, o zaman devam. Değilse, geri index.php için kullanıcıyı yönlendirir.
Ancak, burada ne var. Ben (geçerli Creds ile) formu doldurun ve gönderin FIRST zaman, ben kullanıcı loggedin.php sonra, login.php gönderilen URL çubuğunda kısa bir süre görebilirsiniz, ama sonra {[ (1)]} index.php.
Ben same kimlik bilgilerini yeniden girin ve INFO bir SECOND zaman göndermek Ama, eğer, her şey tam olması gerektiği gibi çalışıyor.
Yani login.php yoluyla ya $ _SESSION değişkeni ilk defa ayarı değil gibi, kısa, görünüyor, ya da ben loggedin.php üzerinde ilk kez kontrol ederken bu olduğunu, ama nedense, bu seti değil
Login.php üzerinde değişkeni ayarı, ve () loggedin.php true return isset sahip arasında bazı gecikme var mı?
Ya ben yanlış yapıyorum başka bir şey var mı?
İşte kod (bence) ilgili parçacıkları şunlardır:
Login.php içinde:
session_start();
$_SESSION['authenticated'] = true;
header('Location: http://www.mydomain.com/loggedin.php');
Loggedin.php in:
session_start();
$authenticated = $_SESSION['authenticated'];
if (!isset($authenticated)) {
header('Location: http://www.footballpoolz.com/mobile/index.php');
die();
}
Herhangi bir tavsiye veya anlayışlar için şimdiden çok teşekkürler!
Cheers, Matt Stuehler