Php 会话变量有时不存储

Php 会话变量有时不存储,php,session,Php,Session,在我的文件A中:我启动一个会话并创建几个会话变量 然后我转到我的文件B:相同的项目并开始一个新的会话。但是,某些会话变量可用,而其中一个变量并非始终可用?上未存储的是关联数组 对此有何反馈 文件A: $data = [ 'teacher_id' => $_SESSION['user_id'], 'mobile' => $_POST['mobile']]; if(!isset($_SESSION)){ session_sta

在我的文件A中:我启动一个会话并创建几个会话变量

然后我转到我的文件B:相同的项目并开始一个新的会话。但是,某些会话变量可用,而其中一个变量并非始终可用?上未存储的是关联数组

对此有何反馈

文件A

$data = [
            'teacher_id' => $_SESSION['user_id'],
            'mobile' => $_POST['mobile']];    
if(!isset($_SESSION)){
   session_start();
}

        $_SESSION['advert'] = $data;
public function validate(){
        if(!isset($_SESSION)){
            session_start();
        }

        print_r($_SESSION['advert']);
    }  
文件B

$data = [
            'teacher_id' => $_SESSION['user_id'],
            'mobile' => $_POST['mobile']];    
if(!isset($_SESSION)){
   session_start();
}

        $_SESSION['advert'] = $data;
public function validate(){
        if(!isset($_SESSION)){
            session_start();
        }

        print_r($_SESSION['advert']);
    }  

您好,我刚刚用代码更新了这个问题,代码
session\u start()
应该放在页面的最上方。。没有
if(!isset($\u SESSION)){..}
但是,当我在文件B给定的空间中打印\u r($\u SESSION)时,它会打印其中的所有会话变量,而不是我存储在文件A中的变量。我们需要知道在哪里以及如何使用
validate()
。我怀疑可能存在变量范围。在任何情况下,启用错误报告并告诉我们它显示了什么。使用$\u SESSION['advert']=serialize($data)和unserialize($\u SESSION['advert'])来获取数据。我刚刚用代码更新了问题。SESSION\u start()应该放在页面的最顶端。。只是没有
如果(!isset($\u SESSION)){……}
但是当我打印时($\u SESSION)在文件B的给定空间中,它打印所有会话变量,但不是我存储在文件A中的变量。我们需要知道您在哪里以及如何使用
validate()
。我怀疑可能存在变量范围。在任何情况下,启用错误报告并告诉我们它显示了什么。使用$\u SESSION['advert']=序列化($data)和非序列化($data)($_SESSION['advert']获取数据