【问题标题】:What is wrong with $_SESSION['user']?$_SESSION['user'] 有什么问题?
【发布时间】:2012-09-24 10:04:58
【问题描述】:

我检测到与其他用户已经发现的相同的东西 - Storing objects in PHP session

如果我在$_SESSION['user'] 中存储一个序列化对象(即字符串),则该对象会在下一页调用时消失。这不是我的问题,因为如果我使用与 user 不同的东西作为键,一切正常。有什么魔法吗?这是保留的吗?

$_SESSION['user'] 变为 false。密钥仍然存在,但值为false。我不太确定,但我认为在第二次调用后该值会变为 false

有什么想法或提示吗?

【问题讨论】:

  • 您确定变量没有在代码的其他部分重置吗?它与另一个键一起使用的事实强烈表明了这一点。
  • 你是在使用普通的 php 还是你还使用了一些可能会覆盖会话存储中的东西的框架?
  • 不确定出了什么问题,但我想我曾经遇到过类似的事情。不确定它是否是 $_SESSION['user'] 但我的会话变量也丢失了。检查您是否在代码中的某处使用了变量 $user 。如果我记得在我的情况下是这样的。如果您在代码中的某处发现变量 $user ,请尝试将其更改为其他内容。我不知道这是什么原因,但也许这是你的问题。并检查其他内容,如上述用户建议。
  • 可能是一个愚蠢的想法,但这里是......你有没有把 session_start() 放在页面的顶部。也许您将错误报告调低到看不到它的程度?
  • 是的,这就是我想说的。 “所以 $_SESSION['user'] = $user 会导致与 $_SESSION['user2'] = $user2 相同的问题。”但是就像有人在他的回答中建议的那样,如果不是,请尝试将 session_start 放在顶部。也许这是一个原因。当我遇到这个“问题”时,我可能不记得我把这个 session_start 放在哪里了。希望它现在对你有用。

标签: php session session-variables


【解决方案1】:

问题可能是 $name 已经在代码中和/或 session_star() 放置在错误的位置。 seesion_start() 需要始终位于页面顶部!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-12
    • 2011-10-12
    • 2012-03-09
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    相关资源
    最近更新 更多