0

我一直在与一个问题作斗争,我需要问。我实现了登录,然后在登录到 normrl php 页面后在每个页面上进行重定向和会话检查,如下所示,

session_start()
if(!isset($_SESSION['loggedin']) || $_SESSION['loggedin']==false){
header("Location: ../login.php");
}

但是在 JQM 中,即使代码位于我拥有的每个 php JQM 页面的顶部,它也不进行会话检查。我在文档中读到 JQM 将页面拉入 DOM,而不是加载它们。

你是怎么做到的?

4

1 回答 1

1

所以,当 JQM 看到一个链接时,比如

<a href="foo.php">Foo</a>

它自动处理点击/触摸事件并使用 XHR (Ajax) 请求 foo.php 并将其注入 DOM。在您的情况下,它请求 foo.php,并且您的服务器端代码注意到缺少登录,并返回响应说它应该加载 login.php。这应该被 AJAX 请求很好地接收并处理。

我刚刚用 ColdFusion 做了一个快速测试,效果很好。我有一个指向 test.cfm 的链接,但在那里我有逻辑说,如果没有登录,重定向到 test2.cfm。对我来说,它工作得很好。

现在 - 我假设 cflocation 与 PHP 的 header() 非常相似,但可能不是。

于 2013-09-05T14:50:30.433 回答