1
我已經創建了登錄頁面,它向php頁面發送ajax請求以進行登錄驗證。 在這個PHP頁面我創建會話,併發送響應按登錄驗證。 如果用戶通過身份驗證,我將它從我發送ajax的java腳本重定向到主頁。但在那個主頁上我不能得到那個會話對象......爲什麼? u能告訴我的解決方案來檢索主頁上那屆ajax登錄問題
我已經創建了登錄頁面,它向php頁面發送ajax請求以進行登錄驗證。 在這個PHP頁面我創建會話,併發送響應按登錄驗證。 如果用戶通過身份驗證,我將它從我發送ajax的java腳本重定向到主頁。但在那個主頁上我不能得到那個會話對象......爲什麼? u能告訴我的解決方案來檢索主頁上那屆ajax登錄問題
我不知道我做了正確的方式,但它爲我這種方式(我希望我沒有忘記任何事情):
這裏的什麼我做的login.php:
header('Content-type: text/json');
// here : import files I need
session_start();
// here : load some parameters into session variables
// here : init mysql connection
// here : get user and password from $_POST and check them against the database
// If the user can't connect, return an error to the client
if (! $ok)
{
echo '{ "ok": "N" }';
exit;
}
$_SESSION['user'] = $user;
echo '{ "ok": "O" }';
>
後來,當我訪問另一個php文件,這裏是它是如何開始的:?
header('Content-type: text/json');
// again, required files go here
session_start();
if (! isset($_SESSION['user'])) {
echo '{ "ok": "N" }';
exit;
}
$user=$_SESSION['user'];
....
每個ajax調用都會檢查結果是否告訴我用戶沒有連接,如果不是,則返回到登錄頁面。
$.ajax({
type: "POST",
url: "myphp.php",
dataType: "json",
data: somedatatopost,
success: function(pRep){
if (!pRep) {
alert("No response from the server.");
return;
}
if (pRep.ok=="N") {
window.location = '/index.html';
return;
}
// here is where I handle a successful response
}
});
對於登錄Ajax調用,我有:
[....]
// here is where I handle a successful response
window.location='mynewpage.html'
解決方案是在調試。如果沒有ajax,請嘗試製作。檢查cookie和會話ID的 – 2010-03-16 05:41:25
是否在主頁中使用了session_start()。 – 2010-03-16 05:54:01
幫助我們來幫助你:提供一些代碼! – 2010-03-16 08:16:31