[英]codeigniter authentication: redirecting to home page
我是Codeigniter框架的新手。 我正在尝试建立身份验证系统。
身份验证正常。 我的问题是,成功登录后,当我单击浏览器中的“后退”按钮时,它将再次定向到登录页面。 我想将其重定向到主页本身。 我想重新加载主页而不是索引页面(索引页面是登录页面,成功登录后将转到主页)
我该怎么做
提前致谢
在控制器中使用重定向:
function index()
{
if ($this->session->userdata['logged_in']) // or whatever you use
{
redirect ('/controller/home');
}
else
{
// show login - post login form to /controller/do_login
}
}
function do_login()
{
// check login form and set user session
redirect('/controller/home'); // or index - does the same...
}
function home()
{
// show home page
}
这个简单的示例显示了如何在输出登录屏幕之前检查用户是否已登录,然后在控制器中使用重定向。
在某些浏览器/ Web服务器组合中,我发现必须设置页面的页眉才能从服务器实际重新加载。 否则,结果可能是即使登录后按回车键仍会显示登录屏幕; 没有查询到服务器。 您可以在htaccess中进行设置,但可以在CI语法中进行设置,然后在标头中输出HTML:
$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
$this->output->set_header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
设置页面,使其始终在后按时重新加载。
登录成功后即可使用
if ($this->login())
{
//redirect them to the index page
redirect('/', 'refresh');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.