1. ホーム
  2. php

[解決済み] Laravel - セッションストアがリクエスト時に設定されない

2022-02-05 08:33:57

質問

最近、新しいLaravelプロジェクトを作成し、認証のガイドに従っていました。ログインまたは登録ルートにアクセスすると、次のエラーが表示されます。

ErrorException in Request.php line 775:
Session store not set on request. (View: C:\Users\Matthew\Documents\test\resources\views\auth\register.blade.php)

Laravelのコアファイルを編集していません。ビューを作成し、routes.phpファイルにルートを追加しただけです。

// Authentication routes
Route::get('auth/login', ['uses' => 'Auth\AuthController@getLogin', 'as' => 'login']);
Route::post('auth/login', ['uses' => 'Auth\AuthController@postLogin', 'as' => 'login']);
Route::get('auth/logout', ['uses' => 'Auth\AuthController@getLogout', 'as' => 'logout']);

// Registration routes
Route::get('auth/register', ['uses' => 'Auth\AuthController@getRegister', 'as' => 'register']);
Route::post('auth/register', ['uses' => 'Auth\AuthController@postRegister', 'as' => 'login']);

Laravelはあまり経験がないので、無知をお許しください。があることは承知しています。 別の質問 という質問をしているのですが、どちらの回答も私には効果がないようです。読んでくださってありがとうございます。

編集する

リクエストにお応えして、register.blade.phpを作成しました。

@extends('partials.main')

@section('title', 'Test | Register')

@section('content')
    <form method="POST" action="/auth/register">
        {!! csrf_field() !!}
        <div class="ui input">
          <input type="text" name="name" value="{{ old('name') }}" placeholder="Username">
        </div>
        <div class="ui input">
          <input type="email" name="email" value="{{ old('email') }}" placeholder="Email">
        </div>
        <div class="ui input">
          <input type="password" name="password" placeholder="Password">
        </div>
        <div class="ui input">
          <input type="password" name="password_confirmation"placeholder="Confirm Password">
        </div>
        <div>
            <button class="ui primary button" type="submit">Register</button>
        </div>
    </form>
@endsection

解決方法は?

を使用する必要があります。 ウェブミドルウェア セッションステート、CSRF保護などが必要な場合。

Route::group(['middleware' => ['web']], function () {
    // your routes here
});