Codeigniter会话与多个用户进行查询并重复登录

时间:2013-08-16 10:13:22

标签: php codeigniter session session-cookies sessionid

Codeigniter

开始我的项目之前的几个问题
  1. Codeigniter将数据存储在特定用户的会话表中多长时间。是否只要他登录?
  2. 如何修改会话表的架构,我的意思是修改已存在的架构的datatypes
  3. 以上问题将我带到另一个问题,我可以更改会话表架构本身吗?
  4. 我可以通过一个session ID在用户的浏览器中添加多个Cookie。
  5. 如何通过Session控制台访问MYSQL表,或只能通过Codeigniter访问
  6. 当用户再次登录我的网站时,如何在用户之前登录时存储我网站的cookie供我阅读。我怎么读它们?
  7. 我知道之前可能会有点问过,但我想在开始我的项目之前想清楚一点。提前致谢

1 个答案:

答案 0 :(得分:1)

Codeigniter实际上使用cookie作为会话,并在config.php文件中设置到期时间。我不确定它存储了多长时间的实际数据库信息(它不是那么长),它会在用户重新登录时为用户重写一个新条目。所以不建议将关键数据存储在会话表中本身并没有存储在其他地方。只要他们的cookie持续存在,信息就可以恢复,但是如果他们删除了cookie,那么你将丢失这些数据。如果您需要在用户上永久存储某些内容,请不要使用会话表。

我不知道为什么你想要改变已经存在的模式的数据类型,老实说,这很可能会使系统能够存储该数据,而无需扩展会话库。对我而言,这似乎是一件非常令人头疼的事情。

已回答3,如果您需要存储更多信息,请不要添加到架构中,创建新表。

至于4,5和6.由于CI使用cookie进行会话,因此您在会话中存储的任何内容都是cookie,并且会在那里过期,直到它过期或用户删除其cookie。

将信息保存到会话中:

$this->session->set_userdata('some_key','some value for that key');

检索它:

$data = $this->session->userdata('some_key');

在此处阅读更多内容:http://ellislab.com/codeigniter/user-guide/libraries/sessions.html