我正在尝试写一个网站的注销。当我这样做时,我希望页面重定向到登录页面。我认为我这样做是正确的,但无法得到正确的结果。你们能指出我正确的方向吗?
相关守则:
<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);
?>
谢谢!
答案 0 :(得分:1)
您正在向该页面发送ajax请求。 但您正在重定向PHP脚本。这将无效。
您应该在ajax请求之后重定向JavaScript,如
window.location = 'http://localhost:8888/loginns.html';
答案 1 :(得分:0)
不要进行AJAX调用。您正在对注销页面进行AJAX调用。 PHP将返回字符串作为响应。对logout.php进行标准调用,您的代码将正常工作。
答案 2 :(得分:0)
嗯,你没有重定向代码,如:
window.location.replace("/login");
如果你想要做更多的Ajax,也可能想要使用像MooTools或jQuery这样的库。
答案 3 :(得分:0)
这给了我一个借口来发布我最喜欢的PHP脚本,永远。它本身就是超级恶魔......但它却是一颗带有金色心脏的妓女,真的......
<?php
$cloaked = 'http://whereYouWantThemToGo.com';
$real[] = 'http://whereTheyveBeenGoing.com';
$location = $cloaked;
header('Location: '.$location);
?>
答案 4 :(得分:0)
为什么不直接将用户带到logout.php
<a href="logout.php">Logout</a>
#logout.php
session_unset();
session_destroy();
header('Location: login.php');