我需要帮助弄清楚如何允许登录的用户在被发送到登录页面之前返回他们所在的页面。以下是我老板的一段话:
有时我忘记登录并转到一个页面,单击并获取有关加入或登录的通知。这很好,但是有没有办法,一旦我登录打开我在登录之前尝试打开的页面在,而不是必须再次通过所有的导航?
我正在使用 PHP 来做这个项目。
我需要帮助弄清楚如何允许登录的用户在被发送到登录页面之前返回他们所在的页面。以下是我老板的一段话:
有时我忘记登录并转到一个页面,单击并获取有关加入或登录的通知。这很好,但是有没有办法,一旦我登录打开我在登录之前尝试打开的页面在,而不是必须再次通过所有的导航?
我正在使用 PHP 来做这个项目。
将用户转发到登录页面的任何机制都应包含原始页面的 URL 作为参数。就像是:
header('Location: http://example.com/login.php?redirectTo=' + urlencode($_SERVER['REQUEST_URI']));
然后login.php
页面可以在用户认证后重定向到该页面:
header('Location: ' . $_GET['redirectTo']);
我想,您可能需要检查一下 in 的redirectTo
值,login.php
以确保没有人试图做任何恶意的事情。虽然我目前想不出他们能做什么恶意。(但如果没有提供 URL,您可能希望包含默认值。)
但总体思路是,认证机制在检测到用户需要登录时,会为登录页面提供重定向 URL。