【问题标题】:PHP Session variables are not working consistentlyPHP Session 变量无法始终如一地工作
【发布时间】:2014-01-12 07:48:58
【问题描述】:

此问题发生在 Chromebook 上。基本上,我的 PHP 会话变量不能始终如一地工作。在试图缩小这个问题的范围时,我编写了一个小脚本来检查 Session 变量是否有效。脚本如下:

<?php
  session_start();
  if (isset($_SESSION['variable'])) {
    echo $_SESSION['variable'];
  } else {
    echo "EMPTY";
  }
  $_SESSION['variable'] = time();
?>

脚本在第一次执行时只显示“空”,因为没有存储变量。但是,正如预期的那样,当页面刷新时,会显示上次执行的时间戳。

所以,会话变量起作用了,所以我回去检查了主项目。突然间,整个项目运行良好,项目没有任何编码更改。这种现象发生了3次,主项目不工作,然后执行单独的“时间戳”脚本,突然主项目开始工作。

澄清一下:这不是 favicon.ico 错误,其中一个已经在服务器的根目录中。

我的主要项目位于这里(对于整个问题来说太大了,大约 400 行):http://pastebin.com/FJAkXqdz

任何帮助将不胜感激。提前感谢您的宝贵时间。

【问题讨论】:

    标签: php google-chrome session session-variables google-chrome-os


    【解决方案1】:

    您的文件在&lt;?php session_start(); 之前有一个HTML cmets。在产生任何输出之前,您必须调用 session_start()。所以改成:

    <?php session_start(); ?>
    <!-- Created by Caleb Power
         Updated January 10, 2014
         Intended use for only the Epsilon Sigma Chapter of Tau Kappa Epsilon -->
    

    【讨论】:

    • 谢谢!我认为规则是在 HTML 输出之前;我不认为 cmets 被归类为“输出”,而是缺乏。我想知道为什么它有一半的时间都在工作。很奇特。
    • PHP 不在乎输出是什么。要求是必须先发送标头,然后再发送其他任何内容。我也不确定为什么它会间歇性地工作。
    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多