#laravel #session-cookies
Вопрос:
у меня проблема с моим кодом.Я использовал эти классы в своем файле ядра в laravel
protected $middleware = [
// AppHttpMiddlewareTrustHosts::class,
AppHttpMiddlewareTrustProxies::class,
FruitcakeCorsHandleCors::class,
AppHttpMiddlewareCheckForMaintenanceMode::class,
IlluminateFoundationHttpMiddlewareValidatePostSize::class,
AppHttpMiddlewareTrimStrings::class,
IlluminateFoundationHttpMiddlewareConvertEmptyStringsToNull::class,
IlluminateSessionMiddlewareStartSession::class,
IlluminateViewMiddlewareShareErrorsFromSession::class,
SpatieCookieConsentCookieConsentMiddleware::class,
];
И мой код контроллера таков
if($category->save()){
return redirect()->route('category.index')->with('done','Category has been inserted successfully');
}else{
return back()->with('deny','Something went wrong');
}
Мой код представления таков
@if (session('deny'))
<div class="alert bg-danger text-white alert-styled-left alert-dismissible">
<button type="button" class="close" data-dismiss="alert"><span>×</span></button>
<span class="font-weight-semibold">Oh snap!</span> {{ session('deny') }}.
</div>
@endif
@if (session('done'))
<div class="alert bg-success text-white alert-styled-left alert-dismissible">
<button type="button" class="close" data-dismiss="alert"><span>×</span></button>
<span class="font-weight-semibold">Well done!</span> {{ session('done') }}.
</div>
@endif
моя проблема в том, что мое сообщение не отображается после того, как я удалил свои классы из файла ядра, а затем отображается мое сообщение.
Как исправить это, не удаляя классы из ядра
IlluminateSessionMiddlewareStartSession::class,
IlluminateViewMiddlewareShareErrorsFromSession::class
Ответ №1:
Когда вы отключаете laravel от использования сеансов php, отключая StartSession::class, вы не можете получить доступ к переменным сеанса, потому что их нет.
Если это не то, что вы хотели спросить, я должен сказать вам, что я совсем не понимаю вашего вопроса
Комментарии:
1. я только что использовал StartSession::класс в ядре для get user()->имя на страницах ошибок, таких как страница 404
2. это сработало, но мое сообщение о сеансе не работает