【问题标题】:PHP Sessions ErrorPHP 会话错误
【发布时间】:2011-02-17 16:09:42
【问题描述】:

我是 PHP 会话的新手,遇到以下错误:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at somefile:someline).

还有这个:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent by (output started at somefile:someline).

session_start(); 是我所有代码中的第一件事。我不确定问题是什么。它给了我行号,但我在这些行上所做的只是开始会话。

另外 - 我有一部分代码的 POST 操作是另一个 PHP 页面。如何在该操作页面中设置与该页面相关的 $_SESSION 变量?

【问题讨论】:

  • 发布一些代码,显示 session_start() 是您代码中的第一件事。通常这个问题是由换行符引起的

标签: php html session


【解决方案1】:

标头已经发送意味着在您调用 session_start() 之前已经打印了一些内容。通常的罪魁祸首是您错过了 之后没有空格。

对于第二个问题,您可以像往常一样访问另一个 php 文件(位于同一服务器上)中的 $_SESSION 变量。只需调用 session_start() 并使用 $_SESSION 数组。

【讨论】:

    【解决方案2】:

    session_start 必须在任何输出之前调用 - 通过在 doctype 之前输入(第一行将是带有 this 的 php 代码)或通过在任何输出之前调用 ob_start 来确保这一点

    【讨论】:

      【解决方案3】:

      将 session_start() 放在代码的最开头。如果您在包含文件中使用 session_start(),请务必将其包含在代码的第一行中。

      【讨论】:

        猜你喜欢
        • 2018-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-13
        • 2011-07-03
        • 2015-02-13
        相关资源
        最近更新 更多