CodeIgniter:动态登录后重定向?

Jak*_*son 5 php redirect login codeigniter

我正在构建一个基本的CodeIgniter站点,需要登录才能访问任何站点.

如果用户访问某个网站网址,请执行以下操作:

http://www.mysite.com/project/detail/2049
Run Code Online (Sandbox Code Playgroud)

并且它们当前已注销,我将其设置为自动将它们踢回登录页面.

我的问题是,在他们登录后,将他们重定向到他们输入的原始网址的最佳方式是什么,而不是说,将他们重定向到网站主页?

我想也许,动态创建URL作为登录表单中的隐藏表单元素,并在成功登录时重定向...你们怎么想?这种类型的动态登录后重定向是否有更好的/最佳实践?

Tom*_*ick 16

当他们点击受限制的页面时记录uri并将其设置为会话数据

this->session->set_userdata('redirect', 'page/uri/here');

然后将它们重定向到登录/注册

在他们登录后检查是否存在"重定向"

if($this->session->userdata('redirect'))
{
    redirect($this->session->userdata('redirect'));
}
Run Code Online (Sandbox Code Playgroud)

如果没有,那么在登录后通常随身携带它们