1

我正在使用 Code Igniter,并且正在实现记住用户功能。

基本上,从另一个堆栈溢出帖子中,我以正确的方式实现了这一点,即为该用户生成随机字符串,将其保存在数据库和 cookie 中。在站点加载时,我检查该 cookie,如果找到该 cookie,我将在数据库中检查它。如果在数据库中找到它,则为该用户重新创建会话。

我遇到的问题是当我加载网站时。我得到了 cookie 的值,也得到了 AJAX 调用的正确响应。但是,我必须单击一个链接才能重新创建会话(例如为登录用户显示菜单等)。

我在想我在调用主控制器的 index 方法之后重新创建会话。如何在 Code Igniter 中解决这个问题?我可以在哪里放置这个最好在每个页面上首先运行的代码?例如,如果用户进入网站的联系我们页面而不是主页,我还想重新创建会话。

提前谢谢了。

4

1 回答 1

2

CodeIgniter 允许开发人员创建在调用控制器方法之前的不同时刻调用的钩子。

以下是如何使用钩子的简短说明:

http://codeigniter.com/user_guide/general/hooks.html

如果你想访问会话,我建议使用一个post_controller_constructor钩子,它在控制器构造函数执行之后,但在调用 action 方法之前调用。(在预控制器 codeigniter 挂钩中访问 CI 会话

于 2012-08-19T21:21:42.023 回答