从外部脚本调用php会话变量

时间:2014-09-11 08:28:35

标签: php function session variables

我从另一个脚本调用会话变量时遇到问题。任何人都可以帮我解决这个问题。

下面是我创建会话并将时间存储在会话变量中的脚本。

<?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

3 个答案:

答案 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()