2012-07-10 27 views
0

我正在使用php會話和用戶帳戶。當他們點擊頁面上的註銷鏈接,它生成的代碼中logout.php這是...銷燬會話後重定向到上一頁

<? 
session_start(); 
session_destroy(); 
Header(「Location: http://www.espn.com」); 
?> 

頁破壞了會議,並由於某種原因,它只是回index.php頁面。我希望擁有它,這樣當用戶註銷時,它們將被重定向到它們登出的頁面。我想我只需要更改我的logout.php中的代碼,但我不知道該怎麼做。我試圖通過將用戶轉到espn.com來進行測試,但是這甚至不起作用。有人可以幫助我設置它,以便將用戶發送到他們剛纔的頁面。 Live Long and Prosper。

+0

這看起來合法。應該管用。向我展示更多的PHP以及調用這個的HTML。 – 2012-07-10 02:22:26

+0

Pablo函數在php中是不區分大小寫的http://stackoverflow.com/questions/5643496/are-php-functions-case-sensitive – 2012-07-10 02:23:06

+0

這不是我想要的。這只是一個例子。我想重定向到用戶所在的上一頁,而不是espn.com – 2012-07-10 02:24:05

回答

2
Header(「Location: http://www.espn.com」); 

應該

header("Location: http://www.espn.com"); //<--NOTE: You are using wrong quotes! 

PS:雖然PHP函數不區分大小寫,但你最好使用低的情況下head同樣具有手動。

更新: 如果你想重定向到前一頁,你可以這樣做:

if (!empty($_SERVER['HTTP_REFERER'])) { 
    header("Location: ".$_SERVER['HTTP_REFERER']); 
} else { 
    header("Location: http://www.espn.com"); 
} 
exit; 
+0

好的,謝謝,但我想重定向到用戶所在的上一頁。那只是一個例子。 – 2012-07-10 02:23:21

+0

@JohnDoe看到我更新的答案。 – xdazz 2012-07-10 02:27:00

+0

我是否在開始和銷燬會話之前或之後放置? – 2012-07-10 02:30:13

0

用途:

header("Location: ".$_SERVER['HTTP_REFERER']); 
0

您可以通過訪問前一頁:

$_SERVER['HTTP_REFERER']; 

所以,如果你在你的頭的位置設置爲地址的,應當將用戶發送回以前的頁面

header('Location: '.$_SERVER['HTTP_REFERER']); 

雖然被警告,$_SERVER['HTTP_REFERER']可能是空的,你應該檢查這個第一,如果是空的將它們發送到其他地方,如您的主頁