【发布时间】:2021-10-11 23:49:33
【问题描述】:
我编写了一个简单的 php(html) 脚本来显示状态。通过 JQUERY,状态更新会自动发生。一些参数由另一个脚本提供并通过GET 发送到状态脚本。
所以这个想法是使用S_SESSION
if( session_status() == PHP_SESSION_NONE ) // if session status is none then start the session
{
session_start();
$_SESSION['dur'] = 10;
$_SESSION['gDur'] = 0;
}else{
error_log("ShowListeners Session: " . var_export($_SESSION, true),0);
}
if(isset($_GET['dur'])){
error_log("ShowListeners GET: " . var_export($_GET, true) , 0);
$_SESSION['dur'] = $_GET['dur'];
$_SESSION['gDur'] = $_GET['gDur'];
}
在我尝试读取会话数据的部分
if(isset($_SESSION['dur']))
$ret .= getTimeString($_SESSION['dur']);
$_SESSION['dur'] 始终不存在。我还可以看到,每次调用脚本时,都会调用session_start(),因为我看不到任何error_log!
是我出了什么问题,还是无法将数据存储在会话变量中?
编辑(2021-08-08)
与此同时,我阅读了很多关于SESSION 的信息。我了解,SESSION 与用户或 cookie 有关。但是我不清楚的是,是否有可能确保多个实例可以访问相同的SESSION 数据?例如,有一个实例正在运行,而另一个实例通过GET 进行数据更新。这个实例可以访问和修改第一个实例使用的SESSION日期吗?
【问题讨论】:
-
如果有条件请从上面
session_start()开始 -
林山,我没听错吧?在检查状态之前我应该使用
Session_start吗?但是,session无论如何都没有启动,session_status()检查不再有意义? -
if (session_status() == PHP_SESSION_NONE)总是给出 1 表示 true 作为代码的输出 -
对不起,运行多个 php 版本删除和添加 cmets 我也有点困惑
标签: php