2012-04-12 129 views
0

我想寫一個網站的註銷。當我這樣做時,我希望頁面重定向到登錄頁面。我認爲我以正確的方式進行,但無法獲得正確的結果。你們能否指出我正確的方向?php不重定向

相關代碼:

<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

請修正你的代碼,以便它可讀。你說你「得不到正確的結果」......你得到了什麼?最後,你發佈了哪些代碼,它住在哪裏? – Madbreaks 2012-04-12 23:25:15

回答

1

您正在向頁面發送ajax請求。 但是您正在重定向PHP腳本。這將有沒有影響

你應該在JavaScript像

window.location = 'http://localhost:8888/loginns.html'; 
0

Ajax請求不要讓AJAX call.You後重定向正在一個AJAX調用登出頁面。 PHP將返回字符串作爲響應。對logout.php進行標準調用,您的代碼將正常工作。

+0

如果你這樣做,你的logout.php代碼將需要在刪除會話數據後進行重定向。 – 2012-04-12 23:27:19

0

那麼你有沒有重定向代碼在那裏,像:

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

可能還需要使用一個庫如MooTools的或jQuery的,如果你打算做更多的阿賈克斯。

0

這給了我一個張貼我的FAVORITE PHP腳本,EVER的藉口。它是在心臟superduper惡魔......但它是一個妓女與金子般的心臟,真的...

<?php 
    $cloaked = 'http://whereYouWantThemToGo.com'; 
    $real[] = 'http://whereTheyveBeenGoing.com'; 
    $location = $cloaked; 
    header('Location: '.$location); 
?> 
0

爲什麼不拿用戶直logout.php <a href="logout.php">Logout</a>

#logout.php 
session_unset(); 
session_destroy(); 
header('Location: login.php');