【问题标题】:Codeigniter Session (User data)Codeigniter 会话(用户数据)
【发布时间】:2013-05-08 11:34:17
【问题描述】:

我在谷歌上搜索,发现在 Stack 有几个人和我有类似问题,但没有一个答案真正解决了我的问题。我有一个在 codeigniter 上开发的应用程序,它使用库“SESSION”并且一切正常,这是我使用这个库的第一个应用程序。但是,我不得不制作另一个与此非常相似的应用程序,因此我复制了整个项目(重命名),并修改了所需的内容。就在那时,我的问题开始了......

最初当我启动应用程序时,页面是白色的。我的 WAMP 都被标记为显示所有“错误、通知和警告”,我的应用程序被标记为“开发”,但仍然没有显示任何内容。谷歌搜索够了,我发现我需要 $ config ['cookie_domain'] = ""; 的值做到了,应用程序恢复了功能,但是当我登录并被重定向到另一个页面时,会话数据用户丢失了。我在尝试解决这个问题时浪费了很多时间,我决定使用原生 PHP SESSION 重写驱动程序,但我仍然想知道发生了什么以及如何解决,为什么不想停止使用 codeigniter 的库“SESSION”。有人会帮助我吗?

重要提示:当我在数据库中记录会话时也会出现问题,它将数据写入用户,但是当页面被重定向时,它会创建一个没有用户数据的新会话,因此用户永远无法登录

【问题讨论】:

  • 您是否为新项目更改了$config['encryption_key']
  • 是的,我为这个变量报告了一个不同的键

标签: php codeigniter session user-data


【解决方案1】:

确保您的浏览器 cookie 已启用。因为代码 igniter 甚至将 Session 存储到 Cookie。

【讨论】:

  • 感谢您的回复,但我从来没有在我的浏览器中禁用cookies,此外我已经在多个浏览器上测试过
【解决方案2】:

检查您的计算机和服务器的时间。

如果服务器的时间早于浏览器的时间,Cookie 将立即丢弃

【讨论】:

  • 你检查时区了吗?也许时间/日期正确但时区错误。
  • 调试原始 HTTP 流量以查看收到的 cookie 以及是否发送回服务器。
  • 我的 php.ini 文件:date.timezone = America/Sao_Paulo
  • 请使用 Chrome 或 Firefox 或任何其他方式检查 HTTP 流量。我想你会看到服务器发送的 cookie,但它不会被你的浏览器发送回服务器
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-04
  • 2015-04-20
相关资源
最近更新 更多