1
當標題讀取時,我無法讓我的會話變量在路由上保持不變。Slim 3會話變量在路由上不持久
我在我的index.php
的非常開始處撥打session_start()
。
根路線:
$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
我看到會話變量是不存在的。
但是,這是一個成功登錄後,我的代碼:(崗位/登錄)
if ($customer !== false && password_verify($password, $customer['password'])) {
$_SESSION['cus_id'] = $customer['id'];
return $this->view->render($response, "homepage.phtml", [ 'logged_in' => true]);
}
我也用這裏的記錄器用於測試目的,它向我表明它保存正確的ID。
我也用完全相同的結果使用各種額外的庫。 我也檢查了官方文檔,無濟於事。
問: 如何獲取會話變量在整個路線是執着? 或者是保存會話的另一種方式?和或另一種方式來解決這個登錄問題?
爲了澄清,在成功登錄調用'$ app-> post('/ login')'路由之後,您可以*渲染主頁模板,但實際上不會*重定向到主路線。這意味着直到另一個稍後的請求才會調用您的主路線。 – Wolf