$ _SESSION变量没有设置,直到我调用另一个函数?

 sherklock 发布于 2023-02-10 14:25

我有一个非常困惑的问题,即在文件的顶部,我调用了一个外部函数“ sessionTest”,该函数测试各种会话条件并返回正确的头字符串。这是必要的,因为我有两个不同的标题:一个用于登录的用户,一个用于非用户/注销的用户。

我的问题在以下代码中:



 ...Rest of Page...

由于某种原因,isset($ _ SESSION ['logged'])在这里返回false,但在sessionTest中为true:

function sessionTest($con){
    session_start();
    $fingerprint = md5($_SERVER['HTTP_USER_AGENT'].session_id());

    if(isset($_SESSION['user']) && isset($_SESSION['logged']) && $_SESSION['logged']==TRUE){
        $dbFingerprint = qGetUserFingerprint($_SESSION['user'],$con);
        $fpMatch = ($dbFingerprint == $fingerprint);

        //LEAVING OUT NON RELEVANT CODE     

        $headerstring = './lheader.html';
    }else{
        $headerstring = './header.html';
    }
    return $headerstring;
}

标头字符串设置为lheader.html,因此isset($ _ SESSION ['logged'])在此处返回true。有谁知道为什么?

提前致谢!

1 个回答
  • 你需要把 session_start();

     <?php 
       -> session_start();
         include './session.php';
          include './db.php';
          $con = genCon();
          if(isset($_SESSION['logged'])){
            echo "Logged: ".$_SESSION['logged'];    
          }
          $headerstring = sessionTest($con); ?>
    

    2023-02-10 14:30 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有