2011-12-30 170 views
0

我不确定哪个是最好的方式来做到这一点,所以我很乐意听到一些想法。登录后重定向到旧链接

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

如果我尝试打开它,我重定向到www.myscript.com/login.php,因为我没有登录,然后当我登录我如果我愿意,请勿重定向到原始链接/网址www.myscript.com/clients.php?id=5

那么,我应该添加到login.php来实现这种表演/工作?

回答

4

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

而不是重定向到login.php中,做到这一点:

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

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

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

3

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

0

您可以使用cookie或使用GET。

示例使用GET:

在clients.php:

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

然后login.php中可以回到原来的页面被重定向到$ _GET [ '重定向']重定向。

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