0

我正在尝试编写网站的注销。当我这样做时,我希望页面重定向到登录页面。我认为我以正确的方式进行操作,但无法获得正确的结果。你们能指出我正确的方向吗?

相关代码:

<button onclick="logout()">Logout</button>

function logout()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.location=xmlhttp.responseText;
}
}
xmlhttp.open("GET","logout.php",true);
xmlhttp.send();
}

<?php
session_destroy();

header("Location:http://localhost:8888/loginns.html");

mysql_close($con);
?>

谢谢!

4

5 回答 5

1

您正在向页面发送 ajax 请求。但是你在 PHP 脚本中重定向。那将没有任何效果

您应该在 ajax 请求之后在 JavaScript 中重定向,例如

window.location = 'http://localhost:8888/loginns.html';
于 2012-04-12T23:23:09.153 回答
0

不要进行 AJAX 调用。您正在对注销页面进行 AJAX 调用。PHP 将返回字符串作为响应。对 logout.php 进行标准调用,您的代码将正常工作。

于 2012-04-12T23:23:13.183 回答
0

好吧,您那里没有重定向代码,例如:

window.location.replace("/login");

如果您打算做更多的 Ajax,也可能想要使用 MooTools 或 jQuery 等库。

于 2012-04-12T23:25:23.127 回答
0

这给了我一个借口来发布我最喜欢的 PHP 脚本,永远。它的内心是超级恶魔……但它是一个有着金子般心的妓女,真的……</p>

<?php   
    $cloaked = 'http://whereYouWantThemToGo.com';
    $real[] = 'http://whereTheyveBeenGoing.com';
    $location = $cloaked;
    header('Location: '.$location); 
?>
于 2012-04-12T23:39:23.730 回答
0

为什么不直接将用户带到 logout.php <a href="logout.php">Logout</a>

#logout.php
session_unset();
session_destroy();
header('Location: login.php');
于 2012-04-12T23:49:41.590 回答