我一直在我的網站上使用此登錄腳本https://github.com/panique/php-login-minimal。當我沒有使用jQuery Mobile時它工作得非常好。當我啓用它時,似乎由登錄腳本創建的php會話已死亡。例如:所有登錄保護的網頁,對頁面的頂部驗證碼:jQuery Mobile和PHP登錄會話
require_once("config/db.php");
require_once("classes/Login.php");
$login = new Login();
每當我試圖返回到上一個頁面,甚至去diferent鏈接時,會不工作了。
這裏是我的全部main.php代碼:
<?php
require_once("config/db.php");
require_once("classes/Login.php");
$login = new Login();
?>
<html>
<head>
<title>Personal</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0;" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="stylesheet" href="css/style.css" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
</script>
<script src="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.js"></script>
<script type="text/javascript" src="js/noty/packaged/jquery.noty.packaged.min.js"></script>
<script src="libraries/RGraph.common.core.js" ></script>
<script src="libraries/RGraph.bar.js" ></script>
<script type="text/javascript" src="js/script.js"></script>
<script>
function error(text) {
var n = noty({
text : text,
type : 'error',
dismissQueue: true,
layout : 'bottomCenter',
theme : 'defaultTheme',
maxVisible : 5
});
}
function ok(text) {
var n = noty({
text : text,
type : 'success',
dismissQueue: true,
layout : 'bottomCenter',
theme : 'defaultTheme',
maxVisible : 5
});
}
</script>
<script src="js/jquery-ui-1.8.23.custom.min.js" type="text/javascript"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<div data-role="page" class="page contact-form">
<div data-role="header">
<a href="login.php" data-icon="arrow-l" data-direction="reverse">Voltar</a>
<a href="index.php" data-icon="home" data-direction="reverse">Home</a>
<h1>Login</h1>
</div><!--/header-->
<div color-bar>
<div data-role="content" align="center" id="logina">
<!--<h3><em>Faca o login</em></h3>
<p>Aqui, voce acessara sua pagina exclusiva.</p>-->
<a href="#"><img src='img/logo2.png' alt="portfolio image" /></a>
<hr />
<div id="contact-form-wrapper">
<div data-role="content">
<?php
echo $_SESSION['user_login_status'];
if ($login->isUserLoggedIn() == true) {
if (isset($_GET["planilha"])){
include("views/planilha.php");
die();
}
if (isset($_GET["fichas"])){
include("views/fichas.php");
die();
}
if (isset($_GET["progresso"])){
include("progresso.php");
die();
}
if (isset($_GET["setexe"])){
include("views/setexe.php");
die();
}
if (isset($_GET["addficha"])){
include("views/addficha.php");
die();
}
if (isset($_GET["editficha"])){
include("views/editficha.php");
die();
}
if (isset($_GET["addficha2"])){
include("views/addficha2.php");
die();
}
include("views/logged_in.php");
}
else {
include("views/loginsub.php");
}
?>
</div>
</div>
正如你所看到的,我有一個主頁上顯示根據URL參數我想要的頁面。當我不包括jQuery的手機腳本,它很好地工作。但是,當它啓用時,登錄時,我想瀏覽網站不能正常工作。似乎創建新登錄的php代碼不會在我更改頁面時執行。我已經禁用了ajax導航,但它一直在竊聽。
有人可以幫助我嗎?
非常感謝!
如何設置/定義$ _SESSION ['user_login_status']? – 2014-08-31 16:51:16
on classes/Login.php。在所有登錄代碼都被管理的情況下 – 2014-08-31 16:54:06
如果像你說的那樣,jQuery手機有問題,一次一個註釋掉相關的代碼行,你會發現這個bug。在打開'<?php'標籤後立即在文件頂部添加錯誤報告 'error_reporting(E_ALL); ini_set('display_errors',1);'看看它是否也會產生任何東西。 – 2014-08-31 16:55:53