0
我是stockoverflow.com的相當新的,因爲我正在尋找一段時間的答案,我想,我把我的問題放在這裏。 底座看起來是這樣的:如何在php和ajax中處理會話
的index.php:
<body>
<div id=」login」> This <div> is hidden
<div>my Login form</div>
</div>
<ul>
<li>menu item</li>
<li>menu item </li>
<li>…</li>
<li><a href=」#」 class=」login」>login</a></li>
</ul>
rest of my code……
</body>
登錄形式被稱爲這種方式: function.js
$('#login').hide();
$('.login').click(function() {
$('#login').show();
document.body.style.overflow = "hidden";
});
當我點擊提交我可以登錄使用以下代碼:
login.js $(document).ready(function(){
$("#message").hide();
$("#submit").click(function(){
$("#message").hide('normal');
$.ajax({
type: "POST",
url: 'login.php',
data: $("#main form").serialize(),
success: function(data)
{
if (data === 'true') {
$(".login").fadeOut(500);
$('.login).html("<div class='loader'></div>")
.hide()
.fadeIn(2500, function() {
$('.login).load('administrator/test.php');
})
}
else {
$('#message').slideDown('slow');
}
}
});
return false;
});
});
和PHP代碼: 的login.php
try {
$stmt = $db->prepare('SELECT * FROM table WHERE email = :email AND passenc = :pass');
$stmt->execute(array(email => $email, 'pass' => $pass));
$count = $stmt->rowCount();
if ($count > 0) {
echo 'true';
$_SESSION['email'] = $email;
} else {
echo "false";
}
}
直到這裏的一切工作正常,我可以登錄並獲得管理頁面。也許有人建議如何做得更好。
但我的問題是這樣的:
如果我再關閉加載或點擊F5我的index.php頁面重新加載。沒有什麼問題,但這裏開始我的問題。
如果我然後再次單擊登錄,則會話創建時會顯示登錄表單而不是受保護的頁面。如何在創建會話時完成該操作,並單擊登錄按鈕將頁面重定向到受保護頁面,如果會話已過期,登錄表單將被加載?