Laravel Сессия вопроса - PullRequest
1 голос
/ 08 января 2020

Я использую Laravel 5.8 и мне нужно сохранить некоторые данные в сеансе. Это код моего контроллера:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PagesController extends Controller
{
    public function index(Request $request)
    {
        $this->storeInSession($request);
        dump(session()->all());
    }

    public function otherPage(Request $request)
    {
        $this->storeInSession($request);
        dump(session()->all());
    }

    protected function storeInSession(Request $request)
    {
        if(!$request->session()->exists('landingpage')){       
            $request->session()->put('landingpage', $request->route()->getName());
        }
    }
}

Я создал защищенную функцию storeInSession, которая хранит название маршрута, связанное со страницей, на которой пользователь впервые приземлился на веб-сайте. Тем не менее, переменная landingpage меняется каждый раз, когда я перемещаюсь между двумя страницами (index и otherPage), что означает, что я не могу сохранить нужную целевую страницу и обнаружил, что laravel_session cook * 1021 нет * в моем браузере.

Кроме того, _token постоянно меняется при каждом перемещении между двумя страницами.

Однако, когда я отправляю форму (которая выполняет запрос POST), * 1022 Появляется * session cook ie, и все начинает правильно сохраняться.

Я использую file драйвер сеанса, life_time равен 120, expire_on_close равен false и encrypt также равен false.

Я что-то не так делаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...