销毁会话后重定向到上一页


Redirect to previous page after destroying session

我正在处理php会话和用户帐户。当他们点击页面上的注销链接时,它会在logout.php中生成代码,即…

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

该页面破坏了会话,出于某种原因,它只是返回到index.php页面。我想拥有它,这样当用户注销时,他们会被重定向到他们刚刚登录注销的页面。我想我只需要更改logout.php中的代码,但我不知道该怎么办。我试着把用户带到espn.com进行测试,但这根本不起作用。有人能帮我设置一下吗?这样用户就可以被发送到他们刚刚所在的页面。长命百岁。

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;

使用:

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

您可以使用:访问上一页

$_SERVER['HTTP_REFERER'];

所以,如果您将页眉位置设置为该地址,它应该会将用户发送回上一页

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

尽管要注意$_SERVER['HTTP_REFERER']可能是空的,但您应该先检查一下,如果是空的话,请将它们发送到其他地方,比如您的主页。