1

在我的站点中,如果会话过期或他们注销,他们必须重新登录才能进入会员区。例如,如果他们想做这样的事情

http://example.com/site/approve_friend_request/RaNdOmCoDe

您只能完成批准好友请求,例如在会员区。但是如果他们没有登录,他们会被重定向到(例如)

http://example.com/login_form

我想知道存储请求的 url 并在他们成功登录后将它们定向到那里的一些想法。我有一些想法,但不确定最好的方法是什么。理想情况下,我不想在 url 中存储任何信息,除非这是一个好方法:

http://example.com/login_form/redirect_after_loggin/approve_friend_request/RaNdOmCoDe

提前致谢。

4

2 回答 2

1

好的,非常感谢您的帮助。我确实有一些选择,似乎最简单的是:

$this->session->set_userdata(array('last_url' => current_url()));

即使我没有登录它也会存储并在登录后保留。一旦我重定向我删除它使用

$this->session->unset_userdata('last_url');
于 2012-08-30T20:30:47.380 回答
0

我会告诉你 Facebook 的做法,不管它是不是一个好方法,我都会把它留给你。

假设您想在登录后将用户重定向到http://www.google.com

$redirect_url = json_encode('http://www.google.com');
header( 'Location: http://site.com/login_form?redirect_url=' . $redirect_url );

确保 URL 参数redirect_url从一个页面传递到另一个页面,在用户登录后,检查是否设置了 redirect_url,如果是:

$redirect_url = json_decode($_GET['redirect_url']);
header('Location: $redirect_url');
于 2012-08-30T19:20:23.300 回答