回答
一个简单的解决方案是在跳转到登录页面之前将“返回”URL存储在会话变量中。登录页面将检查会话变量的存在,然后在使用标题位置re-direct将用户返回到相关URL之前取消设置。
例如在登录页面上,你会使用:
// Successfully logged in...
$destURL = $_SESSION['kickurl'] ? $_SESSION['kickurl'] : '/index.php';
unset($_SESSION['kickurl']);
header('Location: ' . $destURL);
exit();
您可以将用户发送回他们原来的页面,使用其浏览器的引用者:
header('Location: ' . $_SERVER['HTTP_REFERER']);
发送在重定向到登录页面时返回为GET参数的url:
/login.php?return_url=%2Fcart%2Fproducts.php
在login.php中,您解码了return_url参数(/cart/products.php),并在成功登录时发送用户。
当您重定向到登录页面时,将拦截的URL(通常称为返回URL)放入会话变量(或其他适当的存储)中。然后,登录完成后,您可以重定向到此URL。
您有时会在登录过程中看到网站querystrings中的返回URL。例如,如果您在未登录到任何Google帐户的情况下访问docs.google.com,则可以在查询字符串中看到“继续”值,如下所示:
https://www.google.com/accounts ?/ ServiceLogin服务= Writely的&被动= 1209600 &继续= HTTP://docs.google.com/ &随访= HTTP://docs.google.com/ & ltmpl =主页
你应该跟踪的网址每一页: 为:<?php $_SESSION['url'] = $_SERVER['REQUEST_URI']; ?>
现在使用一个: <?php session_start();
if(isset($_SESSION['url'])) $url = $_SESSION['url']; // url for last page visited. else $url = "index.php"; // page you want to redirect by default header("Location: http://abc.com/$url"); ?.
保持
<input type="hidden" name="redirurl" value="<? echo $_SERVER['HTTP_REFERER']; ?>" />
并获得形式后redirurl
值。
if(isset($_REQUEST['redirurl']))
$url = $_REQUEST['redirurl']; // holds url for last page visited.
else
$url = "myprofile.php"; // default page
header("Location:$url");
redirurl
存储上一页Pageurl。保持注册和登录页面的会话,以便它不会复制这些页面URL。
- 1. 如何在jsp登录后重定向到同一页面?
- 2. 如何在页面刷新后重定向到登录页面
- 3. 登录后将用户重定向到同一页面(Rails)
- 4. Laravel:登录后将用户重定向到同一页面
- 5. Rails/Devise如何在登录后重定向到特定页面
- 6. 如何在登录到WordPress的特定页面后重定向?
- 7. 如何在登录后用用户名重定向到同一页面PHP
- 8. 登录后重定向到另一页
- 9. 登录到前一页后重定向
- 10. 如何在Facebook登录后使用javascript重定向到页面?
- 11. 如何在登录后重定向到Routing.prefixes页面?
- 12. 如何在Laravel 5登录到该页面后登录到上一页后重定向回到顶端
- 13. 如何将用户重定向到登录后浏览的同一页面drupal
- 14. 成功登录后不断重定向到登录页面
- 15. Magento成功登录后重定向到登录页面
- 16. 用户登录后页面重定向
- 17. 如何在laravel登录后重定向特定页面
- 18. 成功登录后如何重定向到页面?
- 19. 登录页面重定向
- 20. 如何重定向到失败登录时的相同页面
- 21. 如何在Codeigniter登录后重定向到不同的用户页面
- 22. Laravel重定向登录后,JavaScript重定向到另一页
- 23. 在laravel重置密码后重定向到登录页面
- 24. 重定向到登录页面,如果没有登录到facebook
- 25. 在cookies到期后重定向到登录页面angularJS
- 26. 不能重定向到一个PHP页面登录后
- 27. 检查登录然后重定向到另一个页面
- 28. 重定向后,登录定制登录页面WP
- 29. LightOpenId不重定向到登录页面
- 30. 重定向到https登录页面
我真的很喜欢你的回答 – Navruk 2011-01-27 12:30:58
@Navruk谢谢 - 希望它顺利。 :-) – 2011-01-27 13:46:03