正如标题所述,我无法让我的会话变量在路由上保持不变。
我session_start()
在我的index.php
.
根路径:
$app->get('/', function (Request $request, Response $response) {
$this->logger->addInfo("session id: " . $_SESSION['cus_id']);
$response = $this->view->render($response, "homepage.phtml", [
'test' => 'testing something',
'logged_in' => isset($_SESSION['cus_id'])
]);
return $response;
});
在我app.log
看来,会话变量不存在。
但这是我成功登录后的代码:(发布到 /login)
if ($customer !== false && password_verify($password, $customer['password'])) {
$_SESSION['cus_id'] = $customer['id'];
return $this->view->render($response, "homepage.phtml", [ 'logged_in' => true]);
}
我还在这里使用记录器进行测试,它告诉我它保存了正确的 ID。
我还使用了各种额外的库,结果完全相同。我也查了官方文档,没有用。
问题: 如何让会话变量在整个路由中保持不变?还是另一种保存会话的方法?和或另一种解决此登录问题的方法?