一直在阅读一些内容来找到答案,但运气不太好。
我有一个网站,成员可以匿名浏览该网站,但某些页面受到限制。一旦成员单击需要登录才能查看的链接,我就会将其重定向到登录页面。
我面临的问题是我不知道如何将会员重定向到他们登录后试图访问的页面。
他们试图访问 /profile.phtml ,它把他们发送到 /login.phtml ,现在当他们登录时,我希望他们被发送到 /profile.phtml 因为那是他们点击到达的地方。如果他们点击 /album.phtml,我希望他们在登录后发送到 /album.phtml。
有人可以帮忙吗?我是否以某种方式将 URL 存储在会话中?
非常感激。
就在制作之前header("Location:")
调用重定向,存储他们当前所在的页面$_SESSION['redirect_to']
。登录成功后,再进行一次header()
调用重定向回原始页面并取消设置会话变量,这样它就不会在任何地方意外地重用。
$_SESSION['redirect_to'] = $_SERVER['REQUEST_URI'];
header("Location: http://example.com/login.php");
exit();
// On successful login
$redirect = $_SESSION['redirect_to'];
// unset the session var
unset($_SESSION['redirect_to']);
header("Location: http://example.com/$redirect");
exit();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)