【问题标题】:Session not retaining value after every page refresh每次页面刷新后会话不保留价值
【发布时间】:2016-02-01 12:45:06
【问题描述】:
<?php
session_start();
print_r($_SESSION);
if(empty($_SESSION['a'])) {
    $_SESSION['a'] = mt_rand();
}

print_r($_SESSION);
?>

代码放置在 page1.php 上,每次页面刷新后,变量“a”的值会被一次又一次地设置。上面的代码有什么问题?

【问题讨论】:

  • 它在本地工作,但不是在现场。
  • 你的生产项目的php ini设置文件怎么样?
  • 你必须使用 isset() 而不是 empty()。
  • 为什么? @shashikant empty 没有错!
  • 所有页面都调用了 session_start() 吗?

标签: php session php-5.6


【解决方案1】:

问题出在 php 文件编码系统上。我在最新的记事本++ 版本中打开了 php 文件并检查了“编码”,它是带有 BOM 的 UTF-8,我将其更改为 UTF-8。而且它就像一个魅力:-)

【讨论】:

    【解决方案2】:

    这是编码的问题。请在 notepad++ 新版本中打开您的文件并将文件设置为 UTF-8 编码。我希望你的问题能得到解决:)

    【讨论】:

      【解决方案3】:

      this answer

      它说您需要为 php/webserver 进程的用户设置适当的读/写权限。

      确保/var/lib/session/ 目录对于www-data 是可读/可写的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-23
        • 1970-01-01
        • 2016-12-20
        • 2020-12-28
        • 2014-01-15
        • 2015-06-01
        • 1970-01-01
        • 2017-03-05
        相关资源
        最近更新 更多