2012-07-10 49 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']可能是空的,你应该检查这个第一,如果是空的将它们发送到其他地方,如您的主页