如何在PHP中从登录页面重定向到"previous page and dashboard"



目前我正在php中进行一个电子商务项目。我面临一个问题
我想限制用户在登录前访问添加购物车页面。因此,如果用户在点击添加到购物车时没有登录,他将重定向到登录页面。问题来了。登录后,我希望用户重定向到购物车页面。而不是仪表板页面。如果他从默认的方式登录[意味着不是从购物车页面],他将转到仪表板。

那么,当他从购物车页面进入登录页面时,我如何将用户重定向到购物车页面?如果他没有从购物车页访问登录页面,他将转到仪表板。

许多网站在GET查询字符串中向登录页面传递重定向url,如:

$current_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
header('Location: login.php?return='.urlencode($current_url));

然后登录重定向:

$url = $_GET['return'] ? urldecode($_GET['return']) : "dashboard.php";
header("Location: $url");

如果你想在url中传递,你也可以将url保存到会话中。

最新更新