Почему не работают сесии Laravel?

83
12 мая 2021, 05:40

Controller

    if ($company == null) {
        return redirect()->back()->with('error', ['Внимание! ...']);
    }

View

    @if(session()->has('error'))
       <div class="alert alert-danger alert-dismissable">
          <a href="#" class="close" data-dismiss="alert" aria-label="close">x</a>
          {{ session()->get('error') }}
    </div>
    @endif

Просто обновление страницы происходит

Answer 1

1) Проверьте в app/http/kernel.php включен ли middleware сессии в группу web.

protected $middlewareGroups = [
        'web' => [
            \Illuminate\Session\Middleware\StartSession::class,
            \\ там еще много middleware 
        ],

1.1)Так же убедитесь, что эта группа включена по-умолчанию (в некоторых версиях с этим есть проблемы вроде). В app\providers\routeServiceProviders

public function map()
    {
        $this->mapApiRoutes();
        $this->mapWebRoutes();
        //
    }

    protected function mapWebRoutes()
    {
        Route::middleware('web')
             ->namespace($this->namespace)
             ->group(base_path('routes/web.php'));
    }
    protected function mapApiRoutes()
    {
        Route::prefix('api')
             ->middleware('api')
             ->namespace($this->namespace)
             ->group(base_path('routes/api.php'));
    }

2) Как вариант, но не совсем удачный, включить middleware сессий в глобальную группу в app/http/kernel.php:

class Kernel extends HttpKernel
{
    protected $middleware = [
        \\Добавить
        \Illuminate\Session\Middleware\StartSession::class,
        \App\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
       \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
        \App\Http\Middleware\TrustProxies::class,
    ];

3) Еще один вариант: мне кажется, там не массив передавать нужно, а string.

Вместо:

return redirect()->back()->with('error', ['Внимание! ...']);

Надо:

return redirect()->back()->with('error', 'Внимание! ...');
READ ALSO
Взаимодействие с API ФНС России

Взаимодействие с API ФНС России

Возникли проблемы с API налоговойОни используют SOAP или что-то подобное, мозгов не хватает разобраться, в общем общение идет каким то образом...

182
Wordpress - сортировка постов по дате

Wordpress - сортировка постов по дате

Объясните, пожалуйста, как сделать сортировку постов для определенной категории по дате по возрастаниюТо есть нужно добиться, чтобы пост...

102
Не понимаю как создать скрипт начисления процентов?

Не понимаю как создать скрипт начисления процентов?

Ребята помогите, пожалуйстаЯ совсем не понимаю как мне это сделать

100
Slim. Не могу запустить &ldquo;Hello World&rdquo;

Slim. Не могу запустить “Hello World”

Хочу изучить Slim v4 для RESTFull сервера

94