登录后将用户重定向回原来所需的URL

时间:2009-08-25 19:23:00

标签: php zend-framework url redirect login

示例:

  1. 用户未登录
  2. 用户的购物车中有商品
  3. 用户转到/结帐
  4. 用户被重定向到/登录页面
  5. 用户成功登录,应重定向回/ checkout页面
  6. 在这种情况下,登录操作如何知道将用户重定向到结帐?我希望这可以在许多不同的情况下工作,而不仅仅是/ checkout。

4 个答案:

答案 0 :(得分:5)

登录页面中的查询字符串参数是否足够?

例如:www.example.com/Login.php?returnUrl = [someUrl]

验证成功后,用户将被重定向到查询字符串中指定的URL。

...

编辑:这是一个通用的解决方案,鉴于您使用的框架,它不是一个选项。但需要考虑的事情。

答案 1 :(得分:0)

我在我的“My_Form”类中发布了一些代码,该代码在SO1249274的表单中内置了“referrer”跟踪功能。其他解决方案也可以帮助您解决问题。

答案 2 :(得分:0)

我已经完成了使用简单参数'comeback'重定向到/ login的地方。登录查看参数,并检查引用程序以查看其中的一个页面。如果是,则重定向回该引用。工作得很好。否则,可以将重定向后登录的“目标”放在不同的参数中(无论是查询字符串还是会话或flashmessage)

答案 3 :(得分:0)

我使用会话变量来保留请求的URL。当他成功登录时,我会检查是否设置了此会话变量。如果已设置,我会重定向到请求的URL。