首页 > 解决方案 > php会话未设置或丢失

问题描述

我无法访问会话数据。在 index.php 我有这段代码并且$_SESSION['token']不为空:

<?php
include "classes/session.php";
include "classes/token.php";
// include "classes/login.php";

use Biboletin\Session;
use Biboletin\Token;
Session::start();
var_dump($_SESSION);
?>

在同一个文件的代码中,我也有一行

<input type="hidden" name="token" value="<?php echo Token::generate(); ?>" />

这是 token.php 中的 generate() 方法:

public static function generate()
{
    Session::start();
    return Session::set('token', bin2hex(random_bytes(32)));
}

表单的动作指向login.php,我var_dump($_SESSION)什么都没有。我有Session::start()所有文件。

这是 start() 方法:

public static function start() 
{ 
  if (!self::$instance) { 
    self::$instance = new self(); 
  }
  return self::$instance;
}

标签: phpsession

解决方案


推荐阅读