会话未获取变量打印长字符串

Session not getting the variable prints long string

我有这节课class

class Session 
{
    public function __construct()
    {
        if (!isset($_SESSION)) {
            $this->initSession();
        }
    }

    public function setSessionId()
    {
        $_SESSION['Id'] = session_id();
    }

    public function getSessionId()
    {
        return $_SESSION['Id'];
    }


     public function initSession()
    {
        session_start();
        error_reporting(E_ALL);
        $this->setSessionId();
    }


    public function isLogged(){
        if(isset($_SESSION['Id'])){
            return true;
        }else{
           $this->deleteSession();
           return false;
       }
   }

在我的 login.php 中,我将 id 传递给我的会话,但是

$results['Id'] = session_id();

当我到达 index.php 并回显 ID 时,它回显一个长字符串而不是当前用户 ID

$session = new Session();
$id = $session->getSessionId();

echo $id;

请帮助我如何传递变量!我已经尝试了很多但我似乎被困在这里!非常感谢一些帮助

为您的 class 添加其他方法:

public function setUserId($userid) {
    $_SESSION['user_id'] = $userid;
}

public function getUserId() {
    return isset($_SESSION['user_id']) ? $_SESSION['user_id'] : null;
}

然后您的登录页面应该在用户登录后调用 $session->setUserId(),从数据库传递 ID。