注销和删除 Cookies [重定向到主页]

Posted

技术标签:

【中文标题】注销和删除 Cookies [重定向到主页]【英文标题】:Logout and Delete Cookies [Redirect to main page] 【发布时间】:2014-08-16 19:02:06 【问题描述】:

当用户从主页面点击退出按钮时,cookies会被删除并重定向到window.location = url; .即使用户没有登录,而是点击注销,他们仍然会被重定向到 window.location = url;。我的代码如下,即使单击注销按钮,我似乎也无法注销,并且在登录时我将留在主页上。谁能告诉我出了什么问题?我是 javascript 新手,需要有关此主题的帮助。

$('.logout-btn').click(function(e)
  e.preventDefault();

  if(isset($_COOKIE['REFERER']) && $_COOKIE['REFERER'] != '') 
    window.location = url;
  
  else 
    $.post(outurl, function( data ) 
    ).then(function(r)
      $('#popup_ok, .x-close').bind( "click", function() 
        window.location = url;
      );
      if(r.result == 1)
        popup_msg('Failed', r.msg);
      
      else
        popup_msg('Success', r.msg);
        setTimeout(function()
          window.location = url;
        ,2000);
      
    );
  
);

【问题讨论】:

【参考方案1】:

试试这个代码,当用户关闭标签或关闭浏览器时,它会自动销毁会话和存储的 cookie

<body onbeforeunload='destroySession()'>
</body>


<script type='text/javascript'>
function destroySession()

    $.ajax(
       url: 'process/logout.php'
 );
 
 </script>

【讨论】:

我应该把这些代码放在哪里?我想要的是当用户单击注销时,他们将被重定向到 window.location = url;不是当他们关闭标签或浏览器时【参考方案2】:

注销.php

 <?php
session_start();
unset($_SESSION['id']);
header("location:../login.php"); 
?>

在 login.php 的位置指定文件的路径

【讨论】:

以上是关于注销和删除 Cookies [重定向到主页]的主要内容,如果未能解决你的问题,请参考以下文章

如何更改我的注销路线以重定向到我的主页

谷歌帐户注销和重定向

登录和注销后如何重定向 - laravel 5

如何配置在Django中注销后重定向到哪里?

如何配置在Django中注销后重定向到哪里?

使用 Spring Security 和 Grails 注销后如何将用户重定向到不同的页面