我不确定哪个是最好的方式来做到这一点,所以我很乐意听到一些想法。登录后重定向到旧链接
好吧,让我们说我们有这个链接/ URL =>www.myscript.com/clients.php?id=5
如果我尝试打开它,我重定向到www.myscript.com/login.php
,因为我没有登录,然后当我登录我如果我愿意,请勿重定向到原始链接/网址www.myscript.com/clients.php?id=5
。
那么,我应该添加到login.php来实现这种表演/工作?
我不确定哪个是最好的方式来做到这一点,所以我很乐意听到一些想法。登录后重定向到旧链接
好吧,让我们说我们有这个链接/ URL =>www.myscript.com/clients.php?id=5
如果我尝试打开它,我重定向到www.myscript.com/login.php
,因为我没有登录,然后当我登录我如果我愿意,请勿重定向到原始链接/网址www.myscript.com/clients.php?id=5
。
那么,我应该添加到login.php来实现这种表演/工作?
我会改变的代码,将您重定向到登录页面,如果你没有登录位
而不是重定向到login.php中,做到这一点:
$myUrl = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
header("location:login.php?from=".$myUrl);
exit;
在登录页面,将$_GET['from']
添加到隐藏的表单元素或其他东西。
一旦登录验证,重定向(记得先urldecode()
!)。
在client.php中,在重定向到login.php之前,在会话变量中设置当前页面/ url。成功登录后,检查会话值是否存在于特定密钥(我们从client.php中设置),如果是,则检索该值并重定向到该页面。 。
您可以使用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。