我一直在与一个问题作斗争,我需要问。 我在登录normrl php页面后实现登录,然后重定向和会话检查,如此,
session_start()
if(!isset($_SESSION['loggedin']) || $_SESSION['loggedin']==false){
header("Location: ../login.php");
}
但是在JQM中,即使代码位于我拥有的每个php JQM页面之上,它也不会进行会话检查。我在文档中读到JQM将页面拉入DOM,而不是加载它们。
你是如何实现这一目标的?
答案 0 :(得分:1)
所以,当JQM看到链接时,比如
<a href="foo.php">Foo</a>
它会自动处理click / touch事件并使用XHR(Ajax)来请求foo.php并将其注入DOM。在你的情况下,它请求foo.php,你的服务器端代码注意到缺少登录,并发回一个回复说它应该加载login.php。这应该由AJAX请求正确选择并处理。
我刚用ColdFusion进行了快速测试,效果很好。我有一个指向test.cfm的链接,但在那里我有逻辑说,如果没有登录,重定向到test2.cfm。对我来说,它运作得很好。
现在 - 我假设cflocation非常类似于PHP的header(),但它可能不是。