我从另一个脚本调用会话变量时遇到问题。任何人都可以帮我解决这个问题。
下面是我创建会话并将时间存储在会话变量中的脚本。
<?php
session_start();
$orgtimestamp = date("Y-m-d h:i:sa");
$_SESSION['orgtimestamp'] = $orgtimestamp;
?>
这是我尝试从其函数访问此会话变量的脚本。到现在为止没有任何效果
<?php
include '../../mydomain/myscript.php';
class survey_Tracksciprt
{
public static function timeofclick(){
session_start();
$time_org = $_SESSION['orgtimestamp'];
echo $time_org;
}
}
现在还没有工作,没有任何打印......任何人都可以提供寻求帮助的提示,并且必须要有这个功能timeofclick
答案 0 :(得分:2)
您没有在第二个文件add:
上创建课程//I don't know what this does but if it already starts a session remove the session start inside the class.
include '../../mydomain/myscript.php';
$survey = new survey_Tracksciprt();
$survey::timeofclick();
class survey_Tracksciprt
{
public static function timeofclick(){
session_start();
$time_org = $_SESSION['orgtimestamp'];
echo $time_org;
}
}
我还建议将session_start放在文件的顶部。
答案 1 :(得分:1)
<?php
session_start();
include '../../mydomain/myscript.php';
class survey_Tracksciprt
{
public static function timeofclick(){
$time_org = $_SESSION['orgtimestamp'];
echo $time_org;
}
}
始终使用session_start();在页面的顶部。
答案 2 :(得分:1)
首先,您需要一个init-session.php文件,其中包含:
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
其次,您需要在加载器/布局的开头包含此文件(无论您有什么),因此在初始化会话之前不会执行任何操作。
第三,你应该像这样初始化$orgtimestamp
:
<?php
$orgtimestamp = date("Y-m-d h:i:sa");
$_SESSION['orgtimestamp'] = $orgtimestamp;
?>
第四,您需要致电survey_Tracksciprt::timeofclick()
。