【问题标题】:Computer isn't saving session [duplicate]计算机没有保存会话 [重复]
【发布时间】:2012-05-16 22:21:00
【问题描述】:

计算机上的会话未跨页面保存。它在我的电脑上,但不在另一台电脑上。计算机已启用 cookie。有什么可能导致计算机不保存会话?

【问题讨论】:

  • 他们是否启用了 cookie?
  • 笔记本的系统时间是否正确?
  • 你能提供更多样品吗?
  • 科林,不是复制品。我最初问了那个模糊的问题,不知道发生了什么。现在我把它缩小了,忘了编辑那个。
  • @DylanButh - 你能包含你用来设置会话变量的代码吗?

标签: php codeigniter session user-data


【解决方案1】:

确保他启用了 cookie。

这解释了为什么您需要启用 cookie 才能使会话工作:

客户端通常将令牌存储和发送为 HTTP cookie {...} 使用会话令牌的原因是客户端只需要处理标识符——所有会话数据都存储在服务器上

http://en.wikipedia.org/wiki/Session_(computer_science)#HTTP_session_token

【讨论】:

  • 在不同的网络浏览器中尝试。使用 Chrome/Firefox/IE(好吧.. 可能不是 IE :P )看看你是否在所有三个浏览器中都遇到了问题,或者只是在某些浏览器中遇到了问题。
  • 查看事件日志,看看是否有任何不妥之处...使用 Chrome,查看开发者工具 -> 资源,查看 Cookies 和会话存储,看看是否有任何问题在其中任何一个中。
  • 两者都没有。即使我从我的电脑成功登录。我们俩都是空白的。
  • 你在第三台电脑上试过了吗?也许它正在为你缓存?
  • 是的,我有。我在两台从未连接过的电脑上试过。
【解决方案2】:
if (!$this->session->userdata('admin_logged_in') {
      redirect('/auth/');
 }

此代码缺少),这意味着它不会在 PHP 中解析。您是否从代码中复制并粘贴?

【讨论】:

  • 我会试试的,但为什么它对我有用而不是他呢?
  • 我的道歉,这就是我所拥有的。我只是在问题中使用“=”来解释它。我现在将对其进行编辑。
  • $session->userdata('admin_logged_in') = true 无法设置任何会话变量。
  • 您可以提供的代码示例越多越好。
  • 我没有复制粘贴。我的错误。重定向没有问题。
猜你喜欢
  • 1970-01-01
  • 2017-03-13
  • 1970-01-01
  • 1970-01-01
  • 2020-09-16
  • 2012-12-03
  • 2012-07-23
  • 1970-01-01
  • 2020-09-06
相关资源
最近更新 更多