Почему данные сессии выводятся в адресной строке браузера после отработки формы?
подскажите пожалуйста что не так? есть форма на странице:
<form action="/pro-nas" method="PUT">
@csrf
@method('PUT')
<select name="tema">
<option value="{{$light}}">світла</option>
<option value="{{$dark}}">темна</option>
</select>
<button type="submit">ttt</button>
</form>
есть роут : Route::resource('pro-nas', 'PronasController');
и контроллер:
class PronasController extends Controller
{
public function index(Request $request)
{
$light = 'pro-nas.css';
$dark = 'pro-nas2.css';
$tema = $request->input('tema');
session(['tema' => $tema]);
return view('pro-nas', compact('light','dark','tema'));
}
}
я хочу чтоб данные input сохранились в сессию после срабатывания формы и они сохраняются но урл страници меняется, к нему добавляются данные сессии получается так: mysite/pro-nas?_token=v0O2BqrCaR0j4HkGqqJuVc9tJvhtXXokaogc4rgn&_method=PUT&tema=pro-nas.css как убрать эти данные из адресной строки и сохранить их в сесии правильно?
Ответы (2 шт):
Автор решения: ioszhuk
→ Ссылка
Вместо session(['tema' => $tema]); вставьте:
$request->session()->push(['tema' => $tema']);
и вот статья для Вас по правильной работе с сессиями в Laravel 5: ссылка