2016-06-03 4 views
0

В последнее время я работал над проектом в Laravel 5.2, и теперь у меня проблемы с сессиями, которые не сохраняются. Я прочитал большинство вопросов, которые уже заданы в связи с этим, но у каждого есть тот же ответ, который я уже пробовал - использование промежуточного программного обеспечения.Laravel 5.2 сессия не сохраняется

Я читал, что было новое обновление L5.2, в котором группа промежуточного программного обеспечения уже применяется по умолчанию. Я проверил свои маршруты с помощью php artisan route:list, и я вижу, что на каждом маршруте применяется только одно сетевое промежуточное программное обеспечение.

Я создаю сеанс с $request->session()->put('key', 'value'), но как только я прокомментирую эту строку, сеанса больше не видно.

Редактировать

Я хочу, чтобы установить сеанс внутри контроллера, когда я посещаю страницу новостей, но я попробовал это на простом тестовом маршруте, а также. Маршрут, где я установил это news/{id}, и я хочу использовать его на первой странице, которая находится в /

Я хочу сохранить недавно посещенные страницы в сеансе, чтобы затем показать его пользователю на первой странице.

Файл конфигурации сеанса Я оставил нетронутым. Поэтому он использует драйвер файл

+1

Пожалуйста, укажите больше кода. Покажите нам, где вы его установите, покажите нам, где вы его запросите. Расскажите подробнее о своем драйвере сессии и о том, чего вы хотите достичь в целом –

ответ

1

Здесь испытанные маршруты использовать для ваших проектов Пожалуйста, используйте промежуточное программное обеспечение вместо функции в файл маршруты

routes.php

// Only as a demo 
// Use a middleware instead 

function addToSession ($routeName) { 
    $visited = session()->get('visited', []); 
    array_push($visited, $routeName); 
    session()->put('visited', $visited); 
} 

Route::get('/', function() { 
    addToSession('/'); 
    return view('welcome'); 
}); 

Route::get('/second', function() { 
    addToSession('/second'); 
    return view('welcome'); 
}); 

Route::get('/third', function() { 
    addToSession('/third'); 
    return view('welcome'); 
}); 

Route::get('/history', function() { 
    return session()->get('visited'); 
}); 

/история маршрут вернет JSON, имеющую историю.

+0

Спасибо, это трюк. Странно то, что так я добавил к сеансу, и я сбросил сессию сразу после того, как я ее нажал. Но с помощью/history я увидел, что сеанс установлен на других страницах, которые мне нужны. – Citrus

Смежные вопросы