登录后重定向到旧链接

时间:2011-12-30 15:38:05

标签: php mysql

我不确定哪种方式最好,所以我很乐意听到一些想法。

好的,我们说我们有这个链接/ url => www.myscript.com/clients.php?id=5

如果我尝试打开它,我会被重定向到www.myscript.com/login.php,因为我没有登录,然后当我登录时,我没有被重定向到原始链接/网址{{1}我希望如此。

那么我应该在login.php中添加什么才能实现这样的表演/工作?

3 个答案:

答案 0 :(得分:4)

如果您没有登录,我会更改将您重定向到登录页面的代码。

不是重定向到login.php,而是执行此操作:

$myUrl = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
header("location:login.php?from=".$myUrl);
exit;

在登录页面上,将$_GET['from']添加到隐藏的表单元素或其他内容。

验证登录后,重定向(首先记得urldecode()!)。

答案 1 :(得分:3)

在client.php中

,在重定向到login.php之前,在会话变量中设置当前页面/ url。成功登录后,检查该关键字(我们从client.php设置)是否存在会话值,如果是,则检索该值并重定向到该页面。

答案 2 :(得分:0)

您可以使用Cookie,也可以使用GET。

使用GET的示例:

在clients.php中:

if (!loggedIn()) {
header("Location: www.website/login.php?redirect=".$_SERVER['REQUEST_URI']);
}

然后login.php可以通过重定向到$ _GET ['redirect']重定向回原始页面。

您也可以使用Cookie。在clients.php中,将url存储在cookie中,然后login.php可以读取cookie并重定向回原始URL。