PHP注销脚本未正确重定向

时间:2013-12-10 22:26:40

标签: php jquery session

所以我使用jQuery mobile和PHP通过此代码退出我的网站

要访问注销码,请单击注销按钮。像这样编码

  <div data-role="footer" data-id="foo1" data-position="fixed">
       <div data-role="navbar" data-iconpos="top">
           <ul>
                <li><a href="logout.php" data-transition="none" data-icon="delete">Sign Out</a></li>
           </ul>
       </di>
  </div>

这是logout.php脚本

 session_start();
 session_destroy();
 header('location: login.php');

它可以让我退出并带我登录页面,但网址是

 mysite.com/logout.php

而不是

 mysite.com/login.php

显示login.php信息,但网址错误。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

尝试这样的事情:

header('Location: login.php');
die();

是否有任何错误?

顺便说一句:你也可以试试这个:

session_start();
session_destroy();
die("<meta http-equiv='refresh' content='0;url=login.php'>");

答案 1 :(得分:1)

我需要改变

 <li><a href="logout.php" data-transition="none" data-icon="delete">Sign Out</a></li>

 <li><a href="logout.php" data-transition="none" data-icon="delete" rel="external">Sign Out</a></li>

有人指出,使用jquery mobile它认为我想留在页面中所以我需要添加rel="external"

我还在脚本中添加了die("<meta http-equiv='refresh' content='0;url=login.php'>");

这两个问题都解决了这个问题

答案 2 :(得分:1)

当使用链接到移动框架之外的页面(如jQuery mobile)时,必须在href中包含rel="external">

例如:

<a href="logout.php" data-transition="none" data-icon="delete" rel="external">Sign Out</a>

这是非常重要的,否则它会认为您希望它保留在您进入的同一页面中。